隨著雲端原生應用程式的興起,Kubernetes成為了容器編排的事實標準。由於Kubernetes是開源的,可以運行在各種Linux發行版上,因此在Linux系統中使用Kubernetes容器編排非常常見。本文將介紹如何在Linux系統中安裝和設定Kubernetes,以及如何使用Kubernetes進行容器編排。
在Linux系統中安裝Kubernetes通常需要以下步驟:
1.1 安裝Docker
#由於Kubernetes使用Docker作為容器運行時,所以需要先安裝Docker。在Ubuntu系統中,可以使用以下指令安裝Docker:
sudo apt-get update sudo apt-get install docker.io
在CentOS系統中,可以使用下列指令安裝Docker:
sudo yum install docker sudo systemctl start docker sudo systemctl enable docker
1.2 安裝Kubernetes
在Ubuntu系統中,可以使用下列指令安裝Kubernetes:
sudo apt-get update && sudo apt-get install -y apt-transport-https curl curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list sudo apt-get update sudo apt-get install -y kubelet kubeadm kubectl
在CentOS系統中,可以使用下列指令安裝Kubernetes:
sudo yum install -y epel-release sudo yum update -y sudo yum install -y kubelet kubeadm kubectl sudo systemctl enable kubelet && sudo systemctl start kubelet
2.1初始化Master節點
在Kubernetes叢集中,Master節點負責管理整個叢集。要初始化Master節點,需要執行以下指令:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
這個指令將安裝必要的元件,並產生一個用來加入節點的指令。執行命令輸出的最後幾行將包含用於加入節點的命令,例如:
kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
請注意,這個命令的輸出應該是唯一的,並且僅適用於該Master節點。
2.2 加入Worker節點
要將Worker節點加入Kubernetes集群,需要執行上一步輸出的加入節點指令。例如:
sudo kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
執行這個指令將安裝必要的元件,並將Worker節點加入叢集。
2.3 安裝網路外掛程式
Kubernetes需要一個網路外掛程式來為Pod提供網路。常用的網頁插件包括Flannel和Calico。在這裡,我們選擇安裝Flannel。要安裝Flannel,可以執行以下命令:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
現在,我們已經成功地在Linux系統上安裝和設定了Kubernetes。接下來,我們將介紹如何使用Kubernetes進行容器編排。
3.1 建立Deployment
在Kubernetes中,Deployment是一個建立和管理Pod的抽象。要建立一個Deployment,可以使用kubectl指令。例如,要建立一個名為nginx的Deployment,可以執行以下命令:
kubectl create deployment nginx --image=nginx
此命令將部署一個名為nginx的容器,使用Docker Hub上的nginx映像。
3.2 編輯Deployment
要修改一個Deployment,可以使用kubectl edit deployment指令。例如,要修改nginx Deployment的副本數為3,可以執行以下命令:
kubectl edit deployment nginx
這將開啟一個編輯器,您可以在其中修改yaml檔案。將replicas欄位的值變更為3,然後儲存並退出編輯器。
3.3 暴露Service
在Kubernetes中,Service是一個用於公開Pod的網路端點的抽象。要揭露Deployment的Service,可以使用kubectl expose指令。例如,要暴露nginx Deployment的Service,可以執行以下命令:
kubectl expose deployment nginx --port=80 --type=NodePort
此命令將建立一個名為nginx的Service,並將其公開到叢集中所有節點的80連接埠。
3.4 擴充Deployment
要擴充Deployment,可以使用kubectl scale指令。例如,要將nginx Deployment的副本數擴充為5,可以執行下列指令:
kubectl scale deployment nginx --replicas=5
3.5 管理狀態
要檢視Deployment的狀態,請使用kubectl指令。例如,要查看所有Deployment及其狀態,可以執行以下命令:
kubectl get deployments
此命令將輸出叢集中所有Deployment的名稱、所需數量、可用數量和狀態。
總結
透過本文,我們已經了解如何在Linux系統中安裝和設定Kubernetes,並使用Kubernetes進行容器編排。這些技能是任何想要進入雲端原生世界的開發人員和系統管理員必備的技能。
以上是如何在Linux系統中使用Kubernetes容器編排的詳細內容。更多資訊請關注PHP中文網其他相關文章!