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

# 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...

# K3s 建立 Cluster # Master Node 生成 Token 1k3s token create 你會得到 k10 開頭的字串把它複製下來 # Slave Node 加入 Cluster 123k3sup join --host=HOSTIP --node-token=TOKEN## ORk3s agent --server https://SERVERIP:6443 --token K10... 就完成了

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

# 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 StatefulSet # Introduction StatefulSet 是在 K8s 建構 Stateful App 用的,StatefulSet 類似 Deployment,但 StatefulSet App 會在容器產生後,產生一組識別碼, 且不會因為 Pod reschedule 變動 # 使用情境 應用程式適合用 StatefulSet 的情況 需要穩定 & 唯一的網路識別 (pod reschedule 後的 pod name & hostname 都不會變動) 需要穩定的 persistent storage (pod...

# K3s 各 Log 的儲存位置 # 根據官方文件表明各 Log 位置 k3s logs 的位置取決於你怎麼去執行 k3s 以及節點的作業系統 當透過指令執行,log 會被送到 stdout/stderr 當透過 openrc 執行 logs 會被建立在 /var/log/k3s.log 當透過 systemd 執行 logs 會被送到 Journald 且可以透過 journalctl -u k3s Pod 的 logs 可以在 /var/log/pods 裡面找到 容器的 logs 可以在...

# 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...

# Ubuntu 安裝 kubectl 方法 # 方法一 下載來安裝 123curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"chmod +x kubectl # 可執行權限sudo mv kubectl /usr/local/bin # 放置到環境變數下 # 方法二 透過 apt # 添加 GPG key 與添加來源 12345echo "deb...

# Kubernetes 各種資源型態 Resource Object # K8s 本身提供的資源型態 大致分成幾類 種類 資源型態 Workload Pod, HorizontalPodAutoscaler Controller ReplicaSet, ReplicationController, Deployment, StatefulSet, DaemonSet, Job, CronJob Service Discovery Service, Ingress Authentication & Authorization ServiceAccount,...