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

# 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 Join Cluster # 在 Master 節點產生 Token 12kubeadm token create --print-join-command --ttl=0#kubeadm join 127.0.0.1:6443 --token i69s6k.bo9hlan7otwh5hrj --discovery-token-ca-cert-hash sha256:d62f4dc6160a4996c8f8b28ab7b3ff36c92c1f89233129aab80486da919752cd k3s version 1k3s token create # 在 Node...

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

# K3s Chaos Mesh 安裝 # 安裝 官方網站 1curl -sSL https://mirrors.chaos-mesh.org/v2.6.3/install.sh | bash -s -- --k3s 如果中途發生安裝失敗,可以使用解除安裝腳本進行解除安裝 12curl -sSL https://mirrors.chaos-mesh.org/v2.6.3/install.sh | bash -s -- --template | kubectl delete -f -kubectl delete ns chaos-mesh # 刪除 Namespace #...

# K8s Ingress VS LoadBalancer # 前言 在學習將 K8s Service 對外的時候,會了解到 Ingress 與 LoadBalancer 設定與概念很類似,常常讓人分不清,本篇會讓大家了解 Ingress 與 LoadBalancer 的差異 # LoadBalancer 假設使用 Cluster IP 的話 Service 就只能在 K8s 內部使用,因此如果想要對外存取就需要透過 LoadBalancer 協助,LoadBalancer Resource Type 的 Resource 會跟去請求一個對外 IP # Ingress 與...

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

# k8sGPT with K3s # Install K8sGPT k8sGPT GitHub # Go to Debian base host 12curl -LO https://github.com/k8sgpt-ai/k8sgpt/releases/download/v0.3.28/k8sgpt_amd64.debsudo dpkg -i k8sgpt_amd64.deb then enter k8sgpt is ok 1k8sgpt # K3s User should specify kubeconfig 1export...