1、本機叢集kind
阿新 • • 發佈:2021-12-19
安裝kubectl
安裝kind(預設kubernetes版本為1.21.1)
go install sigs.k8s.io/kind@v0.11.1
保持docker在執行狀態,建立叢集
kind create cluster
儲存 kubernetes config 下來
kind get kubeconfig > ~/kubeconfig.config
vscode 通過 kubernetes 外掛可以連線到各個叢集
命令列連線叢集
// 設定叢集地址檔案 export KUBECONFIG=~/kubeconfig.config // 使用 kubectl cluster-info// 刪除地址檔案 unset KUBECONFIG
工作負載
Pod(邏輯上的物理主機)
一般一個Pod執行一個conatianer。一個Pod執行多個container的話是sidecar模式
新建a.yaml檔案,拉取映象執行
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 4 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers:- name: nginx image: nginx ports: - containerPort: 80 resources: limits: cpu: 100m memory: 128Mi
執行
kubectl apply -f a.yaml
檢視當前執行的pods
kubectl get pods
利用外掛,登入到pod例項
命令列登入到pod
// 先獲取pod例項名稱 kubectl get pods // 登入進入 kubectl exec -it nginx-deployment-8f6948fdf-6zrfz -- sh// nginx-deployment-8f6948fdf-6zrfz 是 pod 名稱
管理叢集上的nginx服務
新建b.yaml
apiVersion: v1 kind: Service metadata: name: nginx-service spec: selector: app: nginx ports: - protocol: TCP port: 80
執行
kubectl apply -f b.yaml
檢視叢集執行的服務
kubectl get svc
測試
// 登入遠端 kubectl exec -it nginx-deployment-8f6948fdf-6zrfz -- sh // 測試 nginx-service 有沒有啟動 curl nginx-service
Deployment
刪除叢集上的 pods 及 deployment
kubectl delete deployment --all // 檢視 kubectl get pods
叢集物理層
節點
kubernetes master
control plane
網路
服務:基於DNS服務發現
負載均衡:基於iptable的負載均衡