# PVE 多客機共享 PCI 裝置 SR-IOV 設置 # 前言 一般來說在 VM/CT 環境我們可以去設定 GPU Passthrough 讓實體主機上的 PCI 裝置,指定讓 VM/CT 直接存取 PCI 裝置,但在多 VM/CT 的情境下, Passthrough 的解決方案並沒有辦法分享 PCI 裝置給予多台 VM/CT,因此本篇是要用 SR-IOV IOMMU VT-d 這些韌體來實施多客機 PCI 裝置共享 # 打開主機板韌體 F12 進入主機板 BIOS 設置把 VT-d 打開 # 安裝依賴 1apt install grub-efi-amd64 # 修改 Grub...

# PVE VM 不支援 AVX 指令集解決方案 # 前言 前陣子在 PVE 上開了 VM 架設 Docker MongoDB Server,遇到了以下 Log 1234567mongodb | /bin/bash: line 1: mongo: command not foundmongodb |mongodb | WARNING: MongoDB 5.0+ requires a CPU with AVX support, and your current system does not appear to have that!mongodb | see...

# PVE WatchDog 看門狗 # 簡介 在維運中系統的可觀測性很重要,我們可以透過 watchdog 監測服務是否還活著,watchdog 可以是硬體也可以是軟體,而在 PVE 中兩種 (作業系統級與硬體物理級) 都有提供,兩種都有提供 自動重啟與定時檢測 的功能 # 優劣比較 # 作業系統級 優點 不需硬體 Watchdog 裝置即可支援 不需設定即已內建啟用與支援 相容與泛用性最好 缺點 若作業系統死當到連 Softdog 也死掉,無法自我重啟 自我重啟時間較久 #...

# PVE VM/CT 備份 # 前言 在維運中機器的備份與還原是必不可少的環節之一,在 PVE 上也提供客機備份與還原的機制,這篇文章會講解有關 PVE 備份相關的知識 # 備份種類 快照備份 暫停備份 停止備份 # 快照備份 在不停止 VM/CT 的情況下,客機內的程式正常運行,對磁碟進行快照製作備份檔案 # 暫停備份 暫時性的讓客機停下來,進行備份作業,等待備份作業完成後繼續讓客機內的程式運行 # 停止備份 讓客機正常關機後,進行備份作業,會將記憶體內資料完整保留後,再重新啟動客機,是資料最完整的備份方式。 # 備份壓縮演算法 不壓縮 LZO 壓縮快 GZIP...

# K8s ConfigMap 設置 # 前言 在 K8s 當中我們去 Deploy 一個 Deployment,其中的 Container 或是 K8s 上的環境我們可能會希望能夠透過一些設置來進行調整,那這時候開發人員就可以透過設計 ConfigMap 與你需要得 K8s Resource 進行綁定並且給予環境變數。 # 設置 ConfigMap 透過 yml 123456apiVersion: v1kind: ConfigMapmetadata: name: django-config # Configmap 名稱data: DEBUG : True # 各種你需要的參數 # 設置...

# K8s 更改 127.0.0.1 成目標 IP # 查看目前 kubectl config 內容 1kubectl config view 找到 clusters 節點下的 cluster 1234- cluster: certificate-authority-data: DATA+OMITTED server: https://127.0.0.1:6443 name: default server 修改成你的目標 IP # 保存當前設置內容 1kubectl config view --raw > ~/.kube/config # 加入至 Config...

# K8s DNS # K8s DNS 其實就跟你所認知的 DNS Server 相同,只不過在 k8s 中 k8s DNS 是用來將 Domain Name 解析成 K8s 上的 Resource 作使用的,而且 K8s DNS 非常彈性,可以運用 DNS + DNS Plugin API 組合成最適合自己的解決方案 # K8s DNS 解析過程 假設我想要去 Request 一個 K8s Service 同一個 Namespace 1curl non-existent-service 不同的 Namespace 1curl...

# K8s 上一鍵安裝 EFK # EFK Elasticsearch,Fluentd,Kibana 的組合 Teck stack Elasticsearch 用於儲存與搜尋 Fluentd 用於收集系統 Log Kibana 提供資料視覺化 # 開始安裝 把下列內容儲存成...

# K8s 服務對外的四種方式 # 前言 剛開始學習 K8s 的時候,你通常會開始寫第一個 Pod 的 YAML 檔案,然而 Pod 裡面的 Service 即便描述了 Port Number 外界還是無法存取 Pod 內的 Service,通常在學習初期會使用 port-forward 的指令來暫時性的將服務對外,那在其他環境中不會用 port-forward,那我們來看看還有哪些方式可以將服務對外出去! # HostNetwork 與 Docker Network 的 Host mode 相同,直接掛載機器上的網路與 Port 123456789apiVersion: v1kind:...

# K8s Helm Chart 是甚麼東西 # 前言 在微服務系統設計中,系統設計隨者時間架構會越來會越大越來越難管理,即便在現今容器化部屬與管理的時代,這樣的問題還是依舊存在,那今天會提到的 Helm 可以一部分的解決這個問題。 # Helm Chart Helm 是管理設定檔的工具。Helm 會把 K8s 一個服務中各種元件裡的 yaml 檔統一打包成一個叫做 chart 的集合,然後透過給參數的方式,去同時管理與設定這些 yaml 檔案。 使用一個現有 Helm Chart GitHub # 安裝 Helm # 下載 Release Download 123curl -fsSL...