真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

使用Kubectl管理Kubernetes的全解教程-創(chuàng)新互聯(lián)

對(duì)不少I(mǎi)T人員來(lái)說(shuō),每天與Kubernetes交互的機(jī)制一般是通過(guò)kubectl——一種命令行工具。kubectl主要用于與Kubernetes API服務(wù)器通信,以在Kubernetes中創(chuàng)建、更新和刪除工作負(fù)載。本教程的目的是概述您可以使用的一些常用命令,并提供管理Kubernetes的良好起點(diǎn)。

成都創(chuàng)新互聯(lián)專(zhuān)注于企業(yè)營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、網(wǎng)站重做改版、于都網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)商城建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性?xún)r(jià)比高,為于都等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

我們將介紹如何在您的計(jì)算機(jī)上安裝kubectl,如何與您的Kubernetes環(huán)境進(jìn)行通信并執(zhí)行一些常見(jiàn)操作。大多數(shù)常見(jiàn)的kubectl命令會(huì)提供某特定的操作,如創(chuàng)建、刪除等。此方法通常需要解釋描述Kubernetes中的對(duì)象(如POD、服務(wù)、資源等)的文件(YAML或JSON)。這些文件通常被用作模板以及環(huán)境的持續(xù)文檔,并有助于保留Kubernetes對(duì)聲明性配置的關(guān)注。命令行上給出的操作將傳遞給API服務(wù)器,然后根據(jù)需要與Kubernetes中的后端服務(wù)進(jìn)行通信。

我們將介紹一些最常見(jiàn)的kubectl命令并提供一些示例。有關(guān)每個(gè)命令的更多詳細(xì)信息,包括所有支持的標(biāo)志和子命令,請(qǐng)查看kubectl參考文檔:

https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands。

安裝kubectl

kubectl是一個(gè)獨(dú)立的程序,因此不需要復(fù)雜的安裝過(guò)程。它是一個(gè)需要位于操作系統(tǒng)PATH中的單個(gè)文件。有許多方法可以獲得kubectl二進(jìn)制文件,例如通過(guò)操作系統(tǒng)的本機(jī)包管理器或通過(guò)curl。下表中的一些示例就是如何為各種操作系統(tǒng)安裝kubectl:

使用Kubectl管理Kubernetes的全解教程

注意

隨著新版本的發(fā)布,最佳版本的kubectl for Windows將隨著時(shí)間的推移而發(fā)生變化。要查找當(dāng)前最佳二進(jìn)制文件,請(qǐng)點(diǎn)擊此鏈接查找最新的穩(wěn)定版本,并根據(jù)需要調(diào)整上述URL:https://storage.googleapis.com/kubernetes-release/release/stable.txt

環(huán)境中使用的kubectl版本,需要與Kubernetes服務(wù)器的版本保持一致。您可以通過(guò)鍵入以下內(nèi)容來(lái)查看正在使用的kubectl客戶(hù)端的版本:

使用Kubectl管理Kubernetes的全解教程

kubectl在各方面都會(huì)保持與一個(gè)版本的兼容性。其中客戶(hù)端版本會(huì)比服務(wù)器版本領(lǐng)先一步。這為服務(wù)器版本:v1.13.4中提供的功能和命令提供了支持。如果客戶(hù)端版本不是服務(wù)器版本之后的各版本中的一個(gè),那么在嘗試訪(fǎng)問(wèn)相應(yīng)服務(wù)器版本中可用的功能時(shí),可能會(huì)遇到錯(cuò)誤或不兼容。

kubectl語(yǔ)法

kubectl 的語(yǔ)法使用如下:

使用Kubectl管理Kubernetes的全解教程

  • Command(命令):指你想要執(zhí)行的操作(創(chuàng)建、刪除等等)

  • Type(類(lèi)別):指你正在執(zhí)行命令的資源類(lèi)型(Pod、Service等)

  • Name(名稱(chēng)):對(duì)象的名稱(chēng)(需區(qū)分大小寫(xiě))。如果未指定名稱(chēng),則可以獲取有關(guān)命令匹配的所有資源的信息(例如Pod)

  • Flags(標(biāo)志):這個(gè)可以按需選擇(非必須),不過(guò)它在查找特定資源時(shí)非常有用。例如,--namespacespace可以讓你指定要在哪個(gè)特定的命名空間中執(zhí)行操作。

kubeconfig

kubectl使用配置文件來(lái)訪(fǎng)問(wèn)Kubernetes集群。默認(rèn)的kubectl配置文件位于?/ .kube / config,稱(chēng)為kubeconfig文件。

kubeconfig文件組織有關(guān)集群、用戶(hù)、命名空間和身份驗(yàn)證機(jī)制的信息。kubectl命令使用這些文件來(lái)查找它在選擇集群并與之通信時(shí)所需要的信息。

加載順序遵循以下規(guī)則:

  1. 如果設(shè)置了--kubeconfig標(biāo)志,則僅加載給定文件。該標(biāo)志只能設(shè)置一次,不會(huì)發(fā)生合并。

  2. 如果設(shè)置了$ KUBECONFIG環(huán)境變量,則根據(jù)系統(tǒng)的正常路徑分隔規(guī)則,將其解析為文件系統(tǒng)路徑列表。

  3. 否則,如果上述兩項(xiàng)都未設(shè)置,則使用${HOME}/.kube/config 文件,不進(jìn)行任何合并。

如果您看到類(lèi)似于以下內(nèi)容的消息,則意味著kubectl配置不正確或無(wú)法連接到Kubernetes集群。

The?connection?to?the?server??was?refused?-?did?you?specify?the?right?host?or?port?

你可以通過(guò)多種方式創(chuàng)建配置文件,具體取決于你使用何種Kubernetes發(fā)行版。以下列出的是不同的K8S發(fā)行版及其位置:

使用Kubectl管理Kubernetes的全解教程

RKE

使用RKE創(chuàng)建Kubernetes集群時(shí),RKE會(huì)在本地目錄中創(chuàng)建一個(gè)kube_config_rancher-cluster.yml文件,該文件包含使用kubectl等工具連接到新集群所需的憑據(jù)。

您可以將此文件復(fù)制到$ HOME / .kube / config,或者,如果您正在使用多個(gè)Kubernetes集群,請(qǐng)將KUBECONFIG環(huán)境變量設(shè)置為kube_config_rancher-cluster.yml的路徑,如下所示:

使用Kubectl管理Kubernetes的全解教程

Rancher統(tǒng)一管理的Kubernetes集群

在Rancher中,您可以通過(guò)Web UI下載kubeconfig文件,并使用它通過(guò)kubectl連接到Kubernetes環(huán)境。

在Rancher UI中,單擊要通過(guò)kubectl連接的集群。在頁(yè)面的右上角,單擊Kubeconfig File按鈕:

使用Kubectl管理Kubernetes的全解教程

單擊按鈕以詳細(xì)查看配置文件以及放置在~/.kube/config中的方向。

使用Kubectl管理Kubernetes的全解教程

將配置復(fù)制到~/.kube/config后,你無(wú)需指定--kube-config文件位置,就可以運(yùn)行kubectl命令:

使用Kubectl管理Kubernetes的全解教程

一些基本命令的示例

以下我將重點(diǎn)介紹在典型環(huán)境中會(huì)用到的許多命令。我們將從概述集群開(kāi)始,一直到探索Kubernetes環(huán)境中當(dāng)前正在運(yùn)行的內(nèi)容的各種場(chǎng)景。

相信下文的內(nèi)容將幫助您熟悉kubectl和典型輸出的命令。

管理kubectl配置

kubectl命令包含一些不同的命令,可用來(lái)幫助查看和管理自己的配置。這些在初始設(shè)置期間,或在你需要處理的集群集發(fā)生變化時(shí),將非常有用。

要查看當(dāng)前配置,請(qǐng)鍵入:

使用Kubectl管理Kubernetes的全解教程

apiVersion:?v1?clusters:?-?cluster:?????certificate-authority-data:?DATA+OMITTED?????server:?https://www..com/k8s/clusters/???name:?gcpcluster?-?cluster:?????certificate-authority-data:?DATA+OMITTED?????server:?https://10.240.0.41:6443???name:?gcpcluster-k8s-1?-?cluster:?????certificate-authority-data:?DATA+OMITTED?????server:?https://10.240.0.42:6443???name:?gcpcluster-k8s-2?-?cluster:?????certificate-authority-data:?DATA+OMITTED?????server:?https://10.240.0.43:6443???name:?gcpcluster-k8s-3?contexts:?-?context:?????cluster:?gcpcluster?????namespace:?rancher?????user:?user-qkvpz???name:?gcpcluster

你將能看到的輸出內(nèi)容匯總展現(xiàn)了你所配置的集群和及上下文。cluster鍵包含每個(gè)可用集群的列表,以及相關(guān)的連接和驗(yàn)證詳細(xì)信息。contexts鍵將用戶(hù)、集群和可選的命名空間組合在一起,以形成用于與集×××互的唯一標(biāo)識(shí)和使用上下文。

要獲得每個(gè)可用上下文的更簡(jiǎn)潔摘要,你可以鍵入:

使用Kubectl管理Kubernetes的全解教程

輸出的內(nèi)容顯示了每個(gè)已定義上下文的詳細(xì)信息以及當(dāng)前選定的上下文,由星號(hào)(*)表示。

要快速檢查當(dāng)前使用的上下文,請(qǐng)鍵入:

使用Kubectl管理Kubernetes的全解教程

雖然我們不會(huì)在本摘要中介紹它,但除此之外你還可以使用kubectl set-cluster、kubectl set-credentials和kubectl set-context以及各種標(biāo)志來(lái)定義集群和上下文,不過(guò)我們?cè)诒疚闹芯筒毁樖隽恕?/p>

要更改要連接的上下文,請(qǐng)使用use-context命令:

使用Kubectl管理Kubernetes的全解教程

檢查集群組件的狀態(tài)

為集群選擇好適當(dāng)?shù)纳舷挛暮?,可以使用get componentstatuses(縮寫(xiě)為get cs)命令檢查核心主組件的狀態(tài):

使用Kubectl管理Kubernetes的全解教程

輸出的內(nèi)容將顯示調(diào)度程序、控制器管理器和etcd節(jié)點(diǎn)的狀態(tài)以及從每個(gè)服務(wù)收集的最新消息和錯(cuò)誤。如果你的集群運(yùn)行不正常,這是一個(gè)很好的、進(jìn)行第一次診斷檢查的機(jī)會(huì)。

可以使用cluster-info命令收集其他連接和服務(wù)信息:

使用Kubectl管理Kubernetes的全解教程

Kubernetes?master?is?running?at?https://www..com/k8s/clusters/?KubeDNS?is?running?at?https://www..com/k8s/clusters//api/v1/namespaces/kube-system/services/kube-dns:dns/proxy?To?further?debug?and?diagnose?cluster?problems,?use?'kubectl?cluster-info?dump'.

這里,輸出顯示了我們的Kubernetes master的端點(diǎn)以及KubeDNS服務(wù)端點(diǎn)的端點(diǎn)。

要查看有關(guān)作為集群成員的每個(gè)單個(gè)節(jié)點(diǎn)的信息,需使用get nodes命令:

使用Kubectl管理Kubernetes的全解教程

NAME????STATUS???ROLES??????????????????????AGE???VERSION???INTERNAL-IP???EXTERNAL-IP???OS-IMAGE???????KERNEL-VERSION????CONTAINER-RUNTIME?k8s-1???Ready????controlplane,etcd,worker???34d???v1.13.5?????????????????????Ubuntu?18.10???4.18.0-1011-gcp???docker://18.9.5?k8s-2???Ready????controlplane,etcd,worker???34d???v1.13.5?????????????????????Ubuntu?18.10???4.18.0-1011-gcp???docker://18.9.5?k8s-3???Ready????controlplane,etcd,worker???34d???v1.13.5?????????????????????Ubuntu?18.10???4.18.0-1011-gcp???docker://18.9.5

這列出了在每個(gè)節(jié)點(diǎn)上運(yùn)行的核心軟件的狀態(tài)、角色、連接信息和版本號(hào)。如果需要在集群節(jié)點(diǎn)上執(zhí)行維護(hù)或登錄以調(diào)試問(wèn)題,此命令可以幫助您提供所需的信息。

查看資源和事件信息

要概述集群中可用的命名空間,請(qǐng)使用get namespaces命令:

使用Kubectl管理Kubernetes的全解教程

這顯示了當(dāng)前集群中定義的命名空間分區(qū)。

要跨所有命名空間概述集群上運(yùn)行的所有資源,使用以下命令:

使用Kubectl管理Kubernetes的全解教程

輸出的內(nèi)容會(huì)顯示部署了每個(gè)資源的命名空間信息,以及加上了資源類(lèi)型前綴的資源名稱(chēng)(例如上面顯示的示例中的pod)。之后,有關(guān)每個(gè)資源的就緒和運(yùn)行狀態(tài)的信息將有助于確定進(jìn)程是否運(yùn)行正常。

要查看與資源關(guān)聯(lián)的事件,請(qǐng)使用get events命令:

使用Kubectl管理Kubernetes的全解教程

NAMESPACE???????LAST?SEEN???TYPE??????REASON???????????????????KIND??????????????????????MESSAGE?cattle-system???9m31s???????Normal????BackOff??????????????????Pod???????????????????????Back-off?pulling?image?"miguelgt/k8s-demo:v2"?cattle-system???24m?????????Warning???Failed???????????????????Pod???????????????????????Error:?ImagePullBackOff?cattle-system???14m?????????Normal????BackOff??????????????????Pod???????????????????????Back-off?pulling?image?"miguelgt/k8s-demo:v2"?cattle-system???9m30s???????Warning???Failed???????????????????Pod???????????????????????Error:?ImagePullBackOff

輸出內(nèi)容將列出資源記錄的最新事件,包括事件消息及其觸發(fā)的原因。

示 例

為了更具體地演示您在使用kubectl時(shí)可能參與的工作流程,我們將在這一部分介紹將容器部署到集群的快速方案,并將其部署到非默認(rèn)命名空間中。

默認(rèn)情況下,如果在未指定命名空間的情況下部署集群,kubectl會(huì)將資源放在名為default的命名空間中。如果要部署到其他名稱(chēng)空間,則需要指定所需的替代項(xiàng)。

雖然我們可以為創(chuàng)建命令提供命名空間,但如果我們要使用命名空間來(lái)處理多個(gè)命令,更改上下文的方法會(huì)更為容易。更改與上下文關(guān)聯(lián)的命名空間將自動(dòng)將命名空間規(guī)范應(yīng)用于任何其他命令,直到更改上下文。

要更改當(dāng)前上下文的命名空間,請(qǐng)使用帶有--currentand --namespace標(biāo)志的set-context命令:

使用Kubectl管理Kubernetes的全解教程

這將改變當(dāng)前上下文,以自動(dòng)將未來(lái)的操作應(yīng)用于rancher命名空間。

接下來(lái),我們可以創(chuàng)建一個(gè)名為nginx的部署,它基于默認(rèn)的nginx容器鏡像運(yùn)行容器。因?yàn)槲覀兏淖兞宋覀兊纳舷挛?,所以它?huì)在rancher命名空間中運(yùn)行:

使用Kubectl管理Kubernetes的全解教程

您可以通過(guò)列出當(dāng)前部署的pod來(lái)檢查部署是否成功:

使用Kubectl管理Kubernetes的全解教程

在這里,我們可以看到Nginx部署正常運(yùn)行。READY那一列顯示容器已就緒,狀態(tài)是“正在運(yùn)行”,沒(méi)有出現(xiàn)故障。

雖然我們已經(jīng)驗(yàn)證了pod正在運(yùn)行,但我們還沒(méi)有得到關(guān)于它部署到了哪個(gè)命名空間的信息。但是,我們可以通過(guò)添加--all-namespaces標(biāo)志來(lái)稍微改變輸出:

使用Kubectl管理Kubernetes的全解教程

這將顯示在每個(gè)命名空間中運(yùn)行的pod,并另外添加一個(gè)NAMESPACE列,列出每個(gè)資源部署到了哪個(gè)命名空間。在這里,我們看到Nginx pod已正確部署到我們的rancher命名空間而不是通常的default命名空間。

這表明我們的上下文操作和我們的部署都按預(yù)期工作了。

你還可以通過(guò)鍵入以下內(nèi)容來(lái)清理已部署的資源:

使用Kubectl管理Kubernetes的全解教程

其他參考信息

雖然本章中深入討論這些內(nèi)容可能超出了本文原意的范圍,但我們還是為大家列出了一些非常有用的命令。

Pod

使用Kubectl管理Kubernetes的全解教程

資源刪除

使用Kubectl管理Kubernetes的全解教程

服務(wù)

使用Kubectl管理Kubernetes的全解教程

事件&指標(biāo)

使用Kubectl管理Kubernetes的全解教程

命名空間&安全

使用Kubectl管理Kubernetes的全解教程

中級(jí)命令

使用Kubectl管理Kubernetes的全解教程

其他資源

  • kubectl的官方概述:https://kubernetes.io/docs/reference/kubectl/overview/

  • kubectl的官方命令文檔:https://kubernetes.io/docs/reference/kubectl/kubectl/

  • kubectl的官方備忘單:https://kubernetes.io/docs/reference/kubectl/cheatsheet/

  • Rancher kubeconfig文檔:https://rancher.com/docs/rancher/v2.x/en/cluster-admin/kubeconfig/

  • 有關(guān)使用kubectl訪(fǎng)問(wèn)集群的Rancher文檔:https://rancher.com/docs/rancher/v2.x/en/cluster-admin/kubectl/

  • kubectl配置命令:https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#config

  • 使用kubeconfig文件組織集群:https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。


文章題目:使用Kubectl管理Kubernetes的全解教程-創(chuàng)新互聯(lián)
本文URL:http://weahome.cn/article/docihs.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部