溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行k8s核心功能的分析

發(fā)布時間:2021-11-19 09:23:20 來源:億速云 閱讀:110 作者:柒染 欄目:云計算

本篇文章為大家展示了如何進行k8s核心功能的分析,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

部署應用

執(zhí)行命令:

kubectl run kubernetes-bootcamp \
      --image=docker.io/jocatalin/kubernetes-bootcamp:v1 \
      --port=8080

這里我們通過 kubectl run 部署了一個應用,命名為 kubernetes-bootcamp

Docker 鏡像通過 --image 指定。

--port 設置應用對外服務的端口。


這里 deployment 是 Kubernetes 的術(shù)語,可以理解為應用。

Kubernetes 還有一個重要術(shù)語 Pod。

Pod 是容器的集合,通常會將緊密相關(guān)的一組容器放到一個 Pod 中,同一個 Pod 中的所有容器共享 IP 地址和 Port 空間,也就是說它們在一個 network namespace 中。

Pod 是 Kubernetes 調(diào)度的最小單位,同一 Pod 中的容器始終被一起調(diào)度。

運行 kubectl get pods 查看當前的 Pod。

kubernetes-bootcamp-390780338-q9p1t 就是應用的 Pod。

訪問應用

默認情況下,所有 Pod 只能在集群內(nèi)部訪問。對于上面這個例子,要訪問應用只能直接訪問容器的 8080 端口。為了能夠從外部訪問應用,我們需要將容器的 8080 端口映射到節(jié)點的端口。

執(zhí)行如下命令:

kubectl expose deployment/kubernetes-bootcamp \
      --type="NodePort" \
      --port 8080

執(zhí)行命令 kubectl get services 可以查看應用被映射到節(jié)點的哪個端口。

這里有兩個 service,可以將 service 暫時理解為端口映射,后面我們會詳細討論。

kubernetes 是默認的 service,暫時不用考慮。kubernetes-bootcamp 是我們應用的 service,8080 端口已經(jīng)映射到 host01 的 32320 端口,端口號是隨機分配的,可以執(zhí)行如下命令訪問應用:

curl host01:32320


Scale 應用

默認情況下應用只會運行一個副本,可以通過 kubectl get deployments查看副本數(shù)。

執(zhí)行如下命令將副本數(shù)增加到 3 個:

kubectl scale deployments/kubernetes-bootcamp --replicas=3


通過 kubectl get pods 也可以看到當前 Pod 也增加到 3 個。

通過 curl 訪問應用,可以看到每次請求發(fā)送到不同的 Pod,三個副本輪詢處理,這樣就實現(xiàn)了負載均衡。


要 scale down 也很方便,執(zhí)行命令:

kubectl scale deployments/kubernetes-bootcamp --replicas=2

其中一個副本被刪除了。

滾動更新

當前應用使用的 image 版本為 v1,執(zhí)行如下命令將其升級到 v2:

kubectl set image deployments/kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2

通過 kubectl get pods 可以觀察滾動更新的過程:v1 的 Pod 被逐個刪除,同時啟動了新的 v2 Pod。更新完成后訪問新版本應用。

如果要回退到 v1 版本也很容易,執(zhí)行 kubectl rollout undo 命令:

kubectl rollout undo deployments/kubernetes-bootcamp

如何進行k8s核心功能的分析

驗證版本已經(jīng)回退到 v1。

至此,我們已經(jīng)通過官網(wǎng)的交互式教程快速體驗了 Kubernetes 的功能和使用方法。

上述內(nèi)容就是如何進行k8s核心功能的分析,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI