-
在CentOS 7的Xampp中使用Certbot
Continue Reading…: 在CentOS 7的Xampp中使用CertbotCertbot介紹 Certbot是一個由EFF(Electronic Frontier Foundation)開發的免費開源工具,用於自動化在Web服務器上部署SSL/TLS證書。它是一個自動化的客戶端,可以讓您輕鬆獲得免費的SSL/TLS證書,以保護您的網站通信,避免了手動創建證書的複雜過程。 Certbot支持多種服務器軟件,包括Apache、Nginx、HAProxy、Amazon Web Services等,它使用ACME(自動化證書管理環境)協議從Let’s Encrypt證書頒發機構獲取SSL/TLS證書。使用Certbot,您可以輕鬆地為您的網站啟用HTTPS協議,提高網站的安全性和可靠性。 如何安裝 CerBot的安裝很貼心,在官方網站就可以選擇你所使用的環境,然後他就會有很詳細的安裝教學了 官方網站: https://certbot.eff.org/ 使用XAMPP的認證指令 若是要認證XAMPP的APACHE,不能直接使用–apache,而是要使用apache-ctl,如下: 錯誤訊息除錯 – Could not find configuration root 下面這個錯誤訊息代表這個認證機器人不知道你的網站的本地端http files靜態路徑的位置 解決方法: 在執行指令的時候告知http files靜態路徑的位置 或者 錯誤訊息除錯 – Please add a virtual host for port 80 這個錯誤提示表明Certbot無法在端口80上找到正在偵聽的虛擬主機,以便證明您控制域名。這是因為Certbot需要在域名的80端口上創建一個臨時HTTP服務器來進行驗證,以證明您控制該域名。 要解決這個問題,您需要在Apache服務器上為端口80添加虛擬主機配置。 在/opt/lampp/apache2/conf/httpd.conf添加以下內容…
-
Publish HEVC live streaming by OBS to SRS via RTMP
Continue Reading…: Publish HEVC live streaming by OBS to SRS via RTMPAfter OBS Studio 29.1, they added support for Enhanced RTMP, it is now possible to push HEVC streaming via RTMP, and SRS also support HEVC over RTMP and HTTP-FLV v6.0.2+. Here is a simple tutorial on how to use OBS…
-
HorizontalPodAutoscalers by customize metric
Continue Reading…: HorizontalPodAutoscalers by customize metric設定擴充的行為,sacle down及up的時候所做的行為,這邊的設定是假如維持300秒都穩定相同狀況,則做HPA縮放,最少維持這種狀態60秒,一次增加1個Pod 這邊則設定要參考的數值,若是要使用自訂義資料,則describedObject這邊要設定的與我們在Rules裡面設定的一致,target部分則設定每一個pods的目標值為多少 下面scaleTargetRef的部分則是設定要做HPA的目標是甚麼,有可能是Services,這邊做HPA的目標則為Pod stream_total_clients_by_pod是我們的客製化變數,這個變數是來自於普羅米修斯,要把普羅米修斯的變數給k8s使用,請參見 http://claire-chang.com/2022/12/16/prometheus-rule-for-alert/ 這邊很重要的是可以看到label裡面有name: eventqueue,在Prometheus Rule裡一定也要加上labels: service: eventqueue 這樣這個值才會可以被輸出給普羅米修斯使用 如下圖: 其他更多的設定值請見: https://docs.openshift.com/container-platform/4.9/nodes/pods/nodes-pods-autoscaling.html
-
查看普羅米修斯某的POD內所有的值
Continue Reading…: 查看普羅米修斯某的POD內所有的值Prometheus 指令 使用的指令如下: 解釋如下: 設定ServiceMonitor 在可以看到所有的值之後,就可以確認你的ServiceMonitor是否正確,可以來設定ServiceMonitor讓普羅米修斯監控正確的對象 以下為一個簡單的範例 更多關於ServiceMonitor可用的設定值請見:https://docs.openshift.com/container-platform/4.9/rest_api/monitoring_apis/servicemonitor-monitoring-coreos-com-v1.html
-
使用kubectl進入某個pod裡的某個container的指令
Continue Reading…: 使用kubectl進入某個pod裡的某個container的指令使用kubectl進入container 若要使用 kubectl 進入某個 pod 裡的某個 container,您可以使用 kubectl exec 命令。以下是一個範例指令: 在這裡,請將 <pod_name> 替換為您想要進入的 pod 的名稱,將 <container_name> 替換為您想要進入的 container 的名稱。這個指令會使用 /bin/bash shell 進入 container,如果該 container 沒有 /bin/bash,您可以嘗試使用 /bin/sh 作為替代: 請注意,這些指令假設您已經成功地安裝並設置了 kubectl,並能夠與 Kubernetes 集群通信。 設定kubectl的方法 要配置 kubectl,您需要一個包含集群連接信息的 kubeconfig 文件。通常,當您使用雲服務提供商(如 GKE、EKS 或 AKS)或…
-
查看普羅米修斯監控目標的exporter資訊
Continue Reading…: 查看普羅米修斯監控目標的exporter資訊Prometheus Target 普羅米修斯 (Prometheus) 是一套開源的監控系統,其中一個重要的功能就是監控 Service (服務) 的運作狀態,這個功能被稱為 Service Monitoring。 Service Monitoring 可以藉由 exporter,透過定義 HTTP endpoints 的方式,監控這些服務的運作狀態。普羅米修斯會定期呼叫這些 endpoints ,並且收集回應的 metrics 以了解服務是否正常運作、服務的吞吐量、延遲、錯誤率等相關資訊。 Service Monitoring 可以提供以下的監控能力: 監控服務的可用性,例如偵測服務是否還在運作、是否正常回應等等。 監控服務的效能,例如服務的吞吐量、延遲等等。 記錄服務的執行狀態,例如錯誤率、請求數量、處理時間等等。 透過 Service Monitoring,可以提升系統的可用性、效能及穩定性,讓系統管理者能夠更快速地偵測到問題、快速修復問題,降低系統的 downtime,提高系統的可靠度。 如何瀏覽exporter的內容 先到普羅米修斯的網頁的Target的地方,會可以看到現在的監控目標,如果設定的目標沒有正確出現,則可以去Service Discovery的頁籤去確認原因。 內容長這樣 無法存取rancher-monitoring-kubelet的exporter吐出的內容 serviceMonitor/kube-system/rancher-monitoring-kubelet/1 (7/7 up) 普羅米修斯在取得Pod的相關狀態是利用rancher-monitoring-kubelet這個POD來取得相關資訊,但是我們會沒有辦法直接去讀取https://127.0.0.1:10250/metrics/cadvisor這個網址,這是因為要讀取需要先透過K8S的認證…
-
什麼是WebRTC
Continue Reading…: 什麼是WebRTC文章轉載 這篇文章翻譯自: What is WebRTC and how does it work? Real-time communication with WebRTC 什麼是WebRTC WebRTC代表網路實時通訊。 它是一種非常令人興奮、強大且具有高度破壞性的尖端技術和流媒體協議。 WebRTC與HTML5相容,您可以使用它直接在瀏覽器和裝置之間新增實時媒體通訊。 最好的部分之一是,您無需在瀏覽器中安裝外掛的任何先決條件即可做到這一點。 Webrtc正逐漸得到所有主要現代瀏覽器供應商的支援,包括Safari、Google Chrome、Firefox、Opera等。 多虧了WebRTC影片流技術,您可以將實時影片直接嵌入到基於瀏覽器的解決方案中,為您的觀眾創造引人入勝的互動式流媒體體驗,而不必擔心延遲。 現在,影片,特別是直播,是我們快速變化的通訊需求不可或缺的一部分。 隨著社交距離的增加,WebRTC幫助我們滿足這些通訊需求,並增加我們與實時通訊的互動。 WebRTC元件 我們將使用客戶端-A和客戶端-B作為示例來解釋WebRTC的以下元件。 SDP(會話描述協議) SDP是一個簡單的基於字串的協議,它在瀏覽器之間共享支援的程式碼器。 在我們的例子中, 客戶端 A 創建其 SDP(稱為報價)並將其保存為本地 SDP,然後與客戶端 B 共享。 Client-B收到Client-A的SDP,保存為遠程SDP。 客戶端 B 創建其…
-
用OPENCV繪製垂直線
Continue Reading…: 用OPENCV繪製垂直線繪製出穿過這兩個點(10,20)和(50,30)的中心點,並與和這兩點相連的直線垂直的線。
-
-
如何分割黏在一起的撲克牌
Continue Reading…: 如何分割黏在一起的撲克牌範例說明 本文為參考下面的文章: Image Segmentation with Distance Transform and Watershed Algorithm 這篇文章是OpenCV官方網站上的一篇教程,介紹了如何使用distanceTransform函數進行圖像分割。在這篇教程中,作者首先介紹了distanceTransform函數的基本概念和用法,然後通過一個實例演示了如何使用distanceTransform函數對圖像進行分割。 範例程式碼 以下為程式範例 distanceTransform distanceTransform函數是OpenCV中的一個函數,用於計算圖像中每個非零點到最近背景像素的距離。distanceTransform函數的第二個Mat矩陣參數dst保存了每個點與最近的零點的距離信息,圖像上越亮的點,代表了離零點的距離越遠。在這篇文章中,作者通過一個實例演示了如何使用distanceTransform函數對圖像進行分割。 在這個實例中,作者首先讀取了一張灰度圖像,然後使用threshold函數對圖像進行二值化處理。接著,作者使用distanceTransform函數計算了圖像中每個非零點到最近背景像素的距離,並將結果保存在了一個Mat矩陣中。最後,作者使用threshold函數對Mat矩陣進行二值化處理,得到了一張分割後的圖像。 需要注意的是,在使用distanceTransform函數時,需要先將圖像進行二值化處理。此外,在計算距離時,可以選擇歐氏距離、L1距離或L-infinity距離等不同的計算方式。 處理的過程圖片 其他參考資料 OpenCV C++/Obj-C: Advanced square detection
Search
About Me
17年資歷女工程師,專精於動畫、影像辨識以及即時串流程式開發。經常組織活動,邀請優秀的女性分享她們的技術專長,並在眾多場合分享自己的技術知識,也活躍於非營利組織,辦理活動來支持特殊兒及其家庭。期待用技術改變世界。
如果你認同我或想支持我的努力,歡迎請我喝一杯咖啡!讓我更有動力分享知識!