一、Kubernetes概述
Kubernetes是一個用於自動部署、擴展和管理容器化應用程序的開源平台。其提供了高可用性、自我修復能力和易於擴展的特徵,使得大規模、高度可用的分散式系統變得更加容易。
在K8s中,所有應用程序和它們的依賴關係都以容器打包,並託管在虛擬化環境中。 有了K8s,用戶可以快速地將容器化的應用程序部署到生產環境中,並通過自動化管理和伸縮等措施實現動態調整以保持應用程序的可用性。
二、Kubernetes搭建前準備條件
Kubernetes可以運行在各種物理、虛擬和雲環境中。在開始搭建前,你需要準備以下基礎環境:
1. Docker安裝
Docker是一種應用程序容器化技術,Kubernetes使用Docker容器封裝和交付應用程序。
sudo apt-get update
sudo apt-get install docker.io
2. kubeadm安裝
kubeadm是一個用於快速初始化和啟動Kubernetes集群的命令行工具。
apt-get update && apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" > /etc/apt/sources.list.d/kubernetes.list
apt-get update
apt-get install -y kubelet kubeadm kubectl
3. Master節點
Kubernetes集群需要至少一個Master節點。Master節點控制著整個集群,並且負責調度、監控和管理應用程序的配置。
4. Worker節點
Worker節點是運行應用程序和服務的節點。Kubernetes集群中通常會有多個Worker節點,它們負責運行和管理應用程序的實例。
三、使用Kubeadm創建集群
在以上環境設置完成後,你可以使用Kubeadm創建集群。Kubeadm的自動化安裝可以減少人工干預的過程,並使得快速部署更為簡便。
1. 初始化Master節點
kubeadm init
該命令會初始化Master節點,並生成Kubeconfig文件。該文件中包含了安全認證密鑰和證書,用於訪問集群的API伺服器。
2. 安裝Pod網路
kubectl apply -f https://docs.projectcalico.org/v3.8/manifests/calico.yaml
Pod網路是連接容器化應用程序的網路。在Kubernetes中,Pod是等效於容器的最小單元。如果運行多個容器,則這些容器會打包成一個Pod。
3. 加入Worker節點
你可以使用kubeadm命令將Worker節點加入到Master節點中,從而將它們添加到集群中。
kubeadm join --token <token> <master-ip-address>:6443 --discovery-token-ca-cert-hash sha256:<hash>
上述代碼中,<token>表示你的集群令牌,<master-ip-address>表示Master節點的IP地址。Worker節點將使用令牌來證明它們可以加入到集群中。
四、運行一個簡單的應用程序
現在,你已經成功地搭建了一個Kubernetes集群。下一步,你可以運行一個簡單的應用程序以驗證集群是否正常運行。
1. 部署應用程序
kubectl run nginx --image=nginx
該命令會在集群中運行一個名為「nginx」的容器。
2. 暴露應用程序服務
kubectl expose deployment nginx --port 80 --type NodePort
該命令將剛才創建的Nginx容器服務暴露給外部訪問,並通過80埠進行映射。
3. 訪問應用程序
現在,你可以通過以下命令來獲取Worker節點的IP地址,並通過該地址訪問Nginx服務:
kubectl get nodes -o wide
你可以在瀏覽器中輸入以下地址進行Nginx服務測試:
http://<node-ip-address>:<node-port>/
總結
Kubernetes是一種用於自動部署、擴展和管理容器化應用程序的開源平台。通過使用Kubernetes,你可以快速地將容器化的應用程序部署到生產環境中,並通過自動化管理和伸縮等措施實現動態調整以保持應用程序的可用性。
原創文章,作者:MAHZN,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/372311.html