一、環境準備
在部署前,需要準備好以下內容:
1. 一組至少有兩台 Ubuntu 16.04 或更新版本的主機。
2. 安裝Docker,可以參照官方文檔進行安裝。
3. 安裝 Kubeadm 工具。
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 - sudo touch /etc/apt/sources.list.d/kubernetes.list echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list sudo apt-get update sudo apt-get install -y kubelet kubeadm kubectl
4. 配置 Kubernetes 中的網絡插件。本文採用 Flannel 網絡插件。
二、搭建Kubernetes集群
1. 初始化一個 Master 節點。
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
2. 完成初始化後,按照提示使用以下語句完成配置:
sudo mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
3. 部署 Flannel 網絡插件。
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
4. 將其他節點加入 Kubernetes 集群。在每個節點上運行下面的命令:
sudo kubeadm join $controller_private_ip:6443 --token $token --discovery-token-ca-cert-hash $hash
其中,$controller_private_ip 為 Master 節點的 IP,$token 和 $hash 分別為初始化 Master 節點後得到的 token 和 hash。
三、部署Web應用
1. 創建一個 Deployment。
kubectl create deployment web --image=gcr.io/google-samples/hello-app:1.0
2. 創建一個 Service。
kubectl expose deployment web --port=80 --target-port=8080 --type=LoadBalancer
3. 部署完成後,使用以下命令查看Service IP:
kubectl get svc web
4. 在瀏覽器中輸入 Service IP,即可訪問 Web 應用。
四、優化
1. 如果需要暴露 Kubernetes 集群的端口通信,可以使用 NodePort 或 LoadBalancer 類型的 Service。
2. 如需進一步優化,可以啟用 Kubernetes 的健康檢查和負載均衡功能。
3. 可以通過該命令檢查服務狀態:
kubectl get pods kubectl get services
五、總結
以上就是使用 Ubuntu 在 K8s 集群中進行 Web 應用部署的方法。希望本文對你有所幫助。在實踐中,可能會遇到一些問題,可以通過 K8s 社區的支持和文檔進行解決。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/188283.html