Kubernetes是 一個免費的開源容器管理系統 提供 一個用於在主機計算機組之間自動進行應用程序容器的部署,擴展和操作的平台。
借助Kubernetes,他們可以自由利用本地,公共和混合雲基礎架構來執行組織的部署任務。
在Ubuntu及其衍生版本上安裝Kubernetes
對於實際安裝, 我們將使用在本文中將形成的兩個節點群集,該群集將由一個主節點和一個從節點組成。
兩個節點都需要安裝Kubernetes。 我們要做的第一件事是在它們兩個上都安裝docker,為此,我們只需要在它們上執行以下命令:
sudo apt install docker.io
要驗證是否已安裝docker, 您可以在兩個節點上運行以下命令:
docker --version
現在 讓我們繼續在兩個節點上啟用docker:
sudo systemctl enable docker
現在,下一步是將Kubernetes密鑰添加到兩個節點,我們使用以下命令執行此操作:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
下一步是將以下存儲庫添加到兩個系統中:
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
安裝過程的最後一步是通過以下命令在兩個節點上安裝Kubeadm:
sudo apt install kubeadm
他們可以檢查Kubeadm版本號,也可以通過以下命令驗證安裝:
kubeadm version
Kubernetes部署
現在要在系統中實現Kubernetes部署,我們必須在兩個節點中禁用交換內存(如果它正在運行)
他們應該在兩個節點上禁用交換內存因為Kubernetes在使用交換內存的系統上無法正常工作。
為此,只需運行:
sudo swapoff -a
現在下一步是 在主節點上運行以下命令,以為其賦予唯一的主機名:
sudo hostnamectl set-hostname master-node
對於從屬節點,我們必須輸入:
sudo hostnamectl set-hostname slave-node
現在完成v讓我們繼續使用以下命令初始化主節點:
sudo kubeadm init --pod-network-cidr = 10.244.0.0/16
該過程可能需要一分鐘或更長時間,具體取決於您的Internet連接。 此命令的輸出非常重要,因此您應該在輸出中記下信息,因為它包含ip,令牌和其他內容。
要開始使用您的集群,他們需要以常規用戶身份運行以下命令:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
現在 他們可以通過以root用戶身份在每個節點上運行以下命令來加入任意數量的計算機:
kubeadm join tuip --token tutoken --discovery-token-ca-cert-hash sha256:tuhash
他們將在哪裡替換tutoken,tuip和您的哈希值的信息,而這些信息是在不久前他們將寫下來的信息。
獲取節點列表
您將看到主節點的狀態尚未準備好。 這是因為尚未在主節點上部署任何Pod,因此容器網絡接口為空。
要查看列表,我們只需執行以下命令:
kubectl get nodes
通過主節點部署Pod網絡
Pod網絡是網絡節點之間的通信方式。 在本教程中,我們將通過以下命令在集群中實現Flannel Pod網絡:
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
要知道網絡的狀態,只需鍵入:
kubectl get pods --all-namespaces sudo kubectl get nodes
完成此操作後,現在該是將從屬節點添加到網絡以形成集群的方式了,它們必須像在主節點中那樣對信息進行補充。
sudo kubeadm join tuip --token tutoken --discovery-token-ca-cert-hash sha256:tuhash
現在,當您在主節點上運行以下命令時,它將確認系統上正在運行兩個節點,即主節點和服務器節點。
sudo kubectl get nodes
這表明兩個節點的群集現在已通過Kubernetes容器管理系統啟動並運行。