Kubernetes 基礎(chǔ)教程:快速搭建集群
Kubernetes (K8s) 是一個(gè)開源的容器編排平臺(tái),可以大幅簡(jiǎn)化容器化應(yīng)用程序的部署、管理和自動(dòng)化操作。K8s 可以利用集群來管理容器化應(yīng)用程序,包括容器的自動(dòng)部署、伸縮、應(yīng)用程序的負(fù)載均衡、應(yīng)用程序的版本管理等等。在本篇文章中,我們將介紹如何快速搭建一個(gè) K8s 集群,并對(duì)其中的一些重要技術(shù)點(diǎn)進(jìn)行詳細(xì)解釋。
一、安裝 Docker 和 Kubernetes
在開始之前,您需要在每臺(tái)服務(wù)器上安裝 Docker 和 Kubernetes。您可以在以下頁(yè)面中獲得詳細(xì)的安裝說明:
- Docker: https://docs.docker.com/install/
- Kubernetes: https://kubernetes.io/docs/setup/
在安裝 Docker 和 Kubernetes 之后,您可以使用命令行工具來檢查安裝是否成功。比如,您可以執(zhí)行以下命令來檢查 Docker 是否已正確安裝:
`shell
docker run hello-world
這應(yīng)該會(huì)輸出一個(gè)短語,說明 Docker 已正確安裝并在運(yùn)行。二、創(chuàng)建 Kubernetes 集群我們將在本地機(jī)器上創(chuàng)建一個(gè) Kubernetes 集群。 Kubernetes 集群包含一個(gè)主節(jié)點(diǎn)和若干個(gè)工作節(jié)點(diǎn)。在本示例中,我們將僅創(chuàng)建一個(gè)工作節(jié)點(diǎn):1. 使用 kubeadm 創(chuàng)建集群在主節(jié)點(diǎn)上運(yùn)行以下命令,使用 kubeadm 工具來創(chuàng)建 Kubernetes 集群:`shellkubeadm init --pod-network-cidr=10.244.0.0/16
這將安裝 Kubernetes 控制平面組件,并在節(jié)點(diǎn)上配置一些網(wǎng)絡(luò)設(shè)置。在成功完成后,它將輸出一些信息,您應(yīng)該記錄這些信息,以便稍后使用。例如,
`shell
kubeadm join 192.168.0.150:6443 --token abcdef.0123456789abcdef \
--discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
2. 加入工作節(jié)點(diǎn)在工作節(jié)點(diǎn)上運(yùn)行上面的 kubeadm join 命令,以加入 Kubernetes 集群:`shellkubeadm join 192.168.0.150:6443 --token abcdef.0123456789abcdef \ --discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
這將將工作節(jié)點(diǎn)添加到 Kubernetes 集群中。您可以使用以下命令來檢查節(jié)點(diǎn)是否已成功加入:
`shell
kubectl get nodes
您應(yīng)該看到兩個(gè)節(jié)點(diǎn):主節(jié)點(diǎn)和工作節(jié)點(diǎn)。三、使用 Kubernetes 部署應(yīng)用程序現(xiàn)在,您已經(jīng)成功創(chuàng)建了 Kubernetes 集群,可以使用 Kubernetes 來部署應(yīng)用程序。例如,您可以部署一個(gè) Nginx 網(wǎng)頁(yè)服務(wù)器,在 Kubernetes 上運(yùn)行:1. 創(chuàng)建一個(gè) deployment使用以下命令創(chuàng)建一個(gè) deployment,以在 Kubernetes 集群上運(yùn)行一個(gè) Nginx 網(wǎng)頁(yè)服務(wù)器:`shellkubectl create deployment nginx --image=nginx
使用以下命令檢查 deployment 是否已成功創(chuàng)建:
`shell
kubectl get deployments
應(yīng)該輸出一個(gè)包含一個(gè) Nginx deployment 的列表。2. 創(chuàng)建一個(gè) service使用以下命令創(chuàng)建一個(gè) service,以將 Nginx 網(wǎng)頁(yè)服務(wù)器暴露出來:`shellkubectl expose deployment nginx --port 80 --type=NodePort
使用以下命令檢查 service 是否已成功創(chuàng)建:
`shell
kubectl get services
應(yīng)該輸出一個(gè)包含一個(gè) Nginx service 的列表,其中端口為 80。3. 訪問 Nginx 服務(wù)器您可以使用以下命令獲取 Nginx 服務(wù)器的 IP 地址和端口號(hào):`shellkubectl describe service nginx
輸出應(yīng)該包含一個(gè)節(jié)點(diǎn)端口,例如,NodePort: 32123。
現(xiàn)在,您可以在 Web 瀏覽器中輸入所有節(jié)點(diǎn)的 IP 地址和節(jié)點(diǎn)端口號(hào),以訪問 Nginx 服務(wù)器。
結(jié)論
Kubernetes 是一個(gè)非常強(qiáng)大的容器編排平臺(tái),可以幫助您輕松地管理、部署和操作容器化應(yīng)用程序。通過本文您已經(jīng)學(xué)會(huì)了如何快速搭建一個(gè) Kubernetes 集群,并使用 Kubernetes 部署一個(gè)應(yīng)用程序。希望本文可以對(duì)您有所幫助。
以上就是IT培訓(xùn)機(jī)構(gòu)千鋒教育提供的相關(guān)內(nèi)容,如果您有web前端培訓(xùn),鴻蒙開發(fā)培訓(xùn),python培訓(xùn),linux培訓(xùn),java培訓(xùn),UI設(shè)計(jì)培訓(xùn)等需求,歡迎隨時(shí)聯(lián)系千鋒教育。