【译】A Kubernetes quick start for people who know just enough about Docker to get by
如果你住在我們太陽系的這一側,你可以保證以前聽說過Kubernetes。?你可能不知道究竟是什么。?但那沒關系。?即使你以前沒有聽說過,也要堅持下去并找出答案。?它會達到你的期望。
我保證Kubernetes不是一個瘋狂的倉鼠掌舵雙體船。?對于所有你知道和關心它的人也可能,但不,它不是,真的。?但是,那將是非常棒的。
TL; DR
如果您想跳到本指南中涉及的相關主題,可以通過按下面的任何鏈接自由選擇。
Kubernetes是......?
有誰知道“kubernetes”甚至意味著什么??顯然,如果有希臘讀者,你會知道的。?這意味著舵手或飛行員。?這有什么關系?
Kubernetes是一個可移植,可擴展的開源平臺,用于管理容器化工作負載和服務,有助于聲明性配置和自動化。哇...好吧,讓我們打破它。?Kubernetes,也稱為K8s,是一個用于自動化容器化應用程序的部署,擴展和管理的系統。
它由谷歌開發,并于2014年年中宣布。?許多關鍵開發人員之前都在使用Google的內部編排系統“Borg”?。?在2015年夏天發布Kubernetes v1.0之后,Google開源并與Linux基金會合作推進該技術。
讓我們進一步分解Kubernetes。?想象一下這樣。?您已經創建了一個Docker容器來包裝您的應用程序。?但您仍需要管理各種DevOps任務以部署和管理容器。?這是Kubernetes介入的地方。它將處理所有重要的部署,擴展和管理步驟,因此您不必這樣做。
它本質上是一個管理容器的工具。?各種各樣的平臺,一路牽著你的手。?由您來創建一個交織在一起的容器網絡,告訴Kubernetes該做什么,以及如何為您的容器提供服務。
為什么我需要Kubernetes ......?
簡單!?安心,期間。
您不必擔心您擁有的每個實例。?也不需要擔心容器是否在運行。?如果實例失敗,Kubernetes將在正在運行的實例上重新創建失敗實例的容器。?極好!
集群...?
在Kubernetes的意義上,集群將是一個耦合的容器網絡,它們可以以這樣的方式相互連接。
不要深入研究Kubernetes的內部工作,這是我們需要知道的。
節點
運行集群的計算機可以是Masters或Nodes。?命名是有道理的。?Master是整個集群的控制面板。?我們將運行的所有命令都將在Master實例上運行。?然后,它將決定群集中的哪個節點或工作計算機將承擔工作負載。
網絡
為了實現集群中各種容器之間的通信,我們需要一個網絡來為它們提供IP地址。?幸運的是,Kubernetes有各種各樣的選擇,幸運的是他們像魔術一樣工作。?這是一個更詳細的解釋。?從本質上講,這樣的網絡使群集中的pod能夠相互通信。
相互作用
我相信你現在想知道節點如何相互通信。?好吧,每個Node都有一個Kubelet,它是一個管理Node并與Kubernetes Master通信的代理。?所有這些都與Master公開的Kubernetes API粘在一起。?然后,我們使用Kubernetes API使用名為kubectl的CLI工具直接與集群交互。?更多關于這一點進一步下降。
除了API之外,Kubernetes能夠正常工作的是一個名為etcd的全局可用配置存儲。?它是一個分布式鍵值存儲,可以分布在多個節點上。?為什么etcd如此重要??它存儲集群中所有節點的配置數據,因此它的每個部分都知道如何配置自身。
Kubernetes對象
Kubernetes對象是群集中存在的單個單元。?對象包括部署,副本集,服務,pod等等。?我們將專注于本教程范圍內的這些主要對象。?當你創建一個對象時,你告訴Kubernetes集群你希望它擁有所需的狀態?。
Kubernetes Objects是Kubernetes系統中的持久實體。Kubernetes使用這些實體來表示集群的狀態。期望狀態意味著群集將按照您指定的方式保持其狀態,即使群集中的節點發生故障也是如此。?Kubernetes將檢測到這一點,并通過旋轉其余節點上的對象進行補償,以恢復所需的狀態。?有了這個,讓我們定義我們將要使用的對象。
- Pod?- 一組一個或多個容器(如Docker容器),具有共享存儲/網絡,以及如何運行容器的規范。?即使pod有多個容器,它們也可以通過單個IP地址在網絡中訪問。
- 服務?- 定義Pod的邏輯集合以及訪問它們的策略的抽象。?豆莢有一個生命周期。?他們被創造并死亡。?我們需要一種方法來定期訪問它們,即使它們被重新創建。?通過為Pods提供特定標簽,我們使用服務將流量路由到具有該特定標簽的所有Pod。?瞧!?即使重新創建Pod,也可以可靠地訪問它們。
- ReplicaSet?- 為Pods提供標簽并控制其復制。?現在它們只用于部署。
- 部署?- 描述所需的狀態,并確保在需要時將實際狀態更改為所需的狀態。部署管理Pod和ReplicaSet,因此您不必這樣做。?就像魔術一樣!
你需要Kubernetes集群嗎?
我似乎無法找到一個原因。?即使我在那里的任何一個云提供商上運行了一個實例,我也會去集群設置。?部署支持滾動更新,意味著零停機時間。?我可以同時運行幾個應用程序實例,并行!
但是,總有一個但是?。?理解卷和持久性有點繁瑣。?容器畢竟是無國籍的。您需要創建某種持久存儲,或使用第三方DBaaS。?但是,無論如何,使用AWS RDS和MongoDB Atlas等服務都是如此。
我很喜歡安心。?在一天結束時沒有頭疼是浮在我的船上。
創建自己的本地群集
我們將使用Minikube進行開發,這是一種輕量級的Kubernetes設置。?它在本地計算機上創建一個小VM,并使用單個節點部署Kubernetes集群。?我們需要通過幾個步驟來安裝Minikube。?我們跳吧。
1.安裝虛擬化軟件?。
VirtualBox或KVM2都可以。?我發現使用VirtualBox是最簡單的方法。?這是您可以輕松入門的下載頁面。
2.安裝kubectl
Kubectl是用于與Kubernetes集群交互的CLI工具。?跳轉到官方頁面?,選擇您的操作系統并運行提供的命令。?這很簡單,這就是你在Ubuntu上的表現。你可以在我上面添加的鏈接上找到其他樣本。
$ curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl $ chmod +x ./kubectl $ sudo mv ./kubectl /usr/local/bin/kubectl3.安裝Docker
Docker的任務是創建和管理容器。?如果你在Ubuntu上,還有兩個命令。
$ sudo apt-get update $ sudo apt-get install -y docker.io否則,跳轉到此處進行Windows設置?,或者如果您有Mac?,請跳轉到此處。
4.最后,安裝Minikube。
Ubuntu只有一個命令。
$ curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64&& chmod + x minikube && sudo mv minikube / usr / local / bin /跳轉到官方Minikube文檔?,找到適用于Mac和Windows的命令。
5.運行Minikube
就是這樣,你可以使用Minikube CLI。?繼續運行minikube?,你將獲得可用的命令。?要直觀地啟動Minikube運行:
$ minikube start您的開發群集已啟動并正在運行。?要確保它正常工作,請運行一個簡單的get nodes命令。
$ kubectl獲取節點輸出應該顯示基本的群集信息,如下所示。
名稱狀態改變年齡版本 minikube Ready <無> Xd v1.9.0有了這樣輕而易舉的運行,讓我們看看如何在服務器上安裝Kubernetes。
在云中設置生產群集
感覺很勇敢??我確定。?讓我們快速完成在云中的真實服務器上安裝Kubernetes的步驟。?為此,您可以選擇所需的任何云提供商。
我在DigitalOcean上使用了這些步驟,安裝只需不到5分鐘。?您唯一需要記住的是將您配置的所有VM添加到同一個虛擬專用網絡。?他們需要擁有私人IP,通過這些IP他們可以相互通信。
根據我們上面的知識,一個實例將是Master,而其他實例將是worker Nodes。?讓我們首先在Master上安裝Kubernetes。
在Master上安裝Kubernetes
每個云提供商都會為您提供一系列步驟,以便連接到您的VM。?它們涉及ssh命令和實際服務器的公共IP地址。
繼續并連接到您希望充當主服務器的服務器。?要開始在基于Debian的Linux計算機上安裝Kubernetes,請按照以下步驟操作。
這是一個到云服務器的ssh連接示例。
ssh user @ ip -p port注意?:像DigitalOcean或AWS這樣的云提供商的默認ssh連接是這樣的:?ssh root@129.212.34.91 -p 22
1.安裝Docker
與我們的Minikube安裝一樣,服務器需要安裝容器化軟件。?因此,安裝Docker。
$ apt-get update $ apt-get install -y docker.io2.安裝Kubernetes
安裝Docker后,繼續運行命令以安裝Kubernetes。
$ apt-get update && apt-get install -y apt-transport-https $ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - $ cat << EOF> /etc/apt/sources.list.d/kubernetes.list deb http://apt.kubernetes.io/ kubernetes-xenial main EOF $ apt-get update $ apt-get install -y kubelet kubeadm kubectl $ export MASTER_IP = <master_ip>你可以看到,除了kubectl,我們還安裝了kubelet和kubeadm?。?您之前在本演練中了解了kubelet,但不是關于kubeadm。
Kubeadm的任務是引導群集,它為群集創建所有必要的附加組件以使其正常運行,并且它支持用于向群集添加新節點的令牌。
這組命令的最后一行將導出Master的IP作為環境變量,因此您可以在以后輕松訪問它。?只需將<master_ip>替換為VM的公共IP地址即可。
3.初始化Kubeadm
初始化kubeadm就像運行一個命令一樣簡單。
$ kubeadm init --apiserver-advertise-address $ MASTER_IP重要提示?:您將在終端中看到一堆輸出返回給您。?有一件事你需要留意。用于將節點添加到群集的命令。?它會在這里顯示給你。?確保將其保存在安全的地方?。
將節點添加到Kubernetes集群的命令將如下所示。
kubeadm join --token <token> 138.197.186.42:6443 --discovery-token-ca-cert-hash sha256:<hashed_token>4.配置Kubectl
要管理Kubernetes集群,需要客戶端配置和證書。?當kubeadm初始化集群時,將創建此配置。?此命令將配置復制到用戶的主目錄,并設置環境變量以供CLI使用。
$ cp /etc/kubernetes/admin.conf $ HOME / $ chown $(id -u):$(id -g)$ HOME / admin.conf $ export KUBECONFIG = $ HOME / admin.conf如果您使用服務器創建新的ssh會話,則可能會重置環境變量。?然后你會看到一些時髦的東西開始發生。?只需再次運行最后一個命令,就可以按照應有的方式恢復Kubernetes配置。?或者,您可以使用--kubeconfig標志運行kubectl命令。?在您放置admin.conf文件的$HOME目錄中,像這樣運行kubectl。
kubectl --kubeconfig /path/to/admin.conf <command> <second_command> //例子 kubectl --kubeconfig ./admin.conf獲取節點5.安裝pod網絡
實現節點之間通信的關鍵步驟是安裝pod網絡。?我保證這些是我們需要在Master上運行的最后幾個命令。
$ sysctl net.bridge.bridge-nf-call-iptables = 1 $ export kubever = $(kubectl version | base64 | tr -d'\ n') $ kubectl apply -f“https://cloud.weave.works/k8s/net?k8s-version=$kubever”真棒!?給自己輕拍一下。?現在要檢查您的群集是否正常運行,請繼續運行命令以檢查節點。
$ kubectl獲取節點此命令的輸出將如下所示。
名稱狀態改變年齡版本 master Ready master Xd v1.9.0而已。?與Master完成后,讓我們連接到專用網絡中的Worker Node。
在節點上安裝Kubernetes
設置節點甚至比主節點更簡單。?許多命令完全相同,首先安裝Docker和Kubernetes。?繼續ssh進入工作節點并以超級用戶身份運行這些命令。
1.安裝Docker
就像Master一樣,我們運行Docker install命令。
$ apt-get update $ apt-get install -y docker.io2.安裝Kubernetes
看模式??我們也安裝Kubernetes。
$ apt-get update && apt-get install -y apt-transport-https $ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - $ cat << EOF> /etc/apt/sources.list.d/kubernetes.list deb http://apt.kubernetes.io/ kubernetes-xenial main EOF $ apt-get update $ apt-get install -y kubelet kubeadm kubectl $ export WORKER_IP = <worker_ip>確保將<worker_ip>更改為VM的實際公共IP地址。
3.加入群集
最后,我們到達了有趣的部分。?還記得我們初始化kubeadm時發送回輸出的集群連接命令嗎??我們現在需要它。?繼續運行從kubeadm init --apiserver-advertise-address $MASTER_IP命令返回給您的整個命令。
$ kubeadm join --token <token> <master_ip>:6443 --discovery-token-ca-cert-hash sha256:<hashed_token>注意?:Kubernetes API服務器的默認安全端口為?6443?。
運行上面的命令后,您將看到一些輸出,告訴您Node已成功連接到群集。
4.檢查主服務器上的群集狀態
現在,一旦再次進入Master,請繼續檢查群集中節點的狀態。
$ kubectl獲取節點您應該看到它們處于Ready狀態。?如果您看到NotReady?,請給它幾分鐘。
名稱狀態改變年齡版本 master Ready master xmin v1.9.0 節點就緒節點xmin v1.9.0注意?:請記住,您只能與Master中的Kubernetes集群進行交互。
5.從本地開發機器與Master交互
如果您每次想要與群集交互時需要ssh進入Master,那將會有點不方便。Kubernetes有一個很棒的功能。?通過將主服務器上Kubernetes初始化期間創建的配置文件復制到安裝了kubectl的本地計算機,您將能夠遠程訪問您的集群。?那太棒了!?
要將文件從主服務器復制到開發計算機,請運行以下命令。
$ scp <user> @ <master ip>:/ etc / kubernetes / admin.conf $ HOME / $ kubectl --kubeconfig ./admin.conf獲取節點這會將配置文件復制到主目錄。?從那里你將使用--kubeconfig選項運行kubectl命令。
或者,如果您是一個整潔的開發人員,與我不同,這里是如何處理多個配置的指南。
配置對多個群集的訪問
編輯本頁此頁面顯示如何使用配置文件配置對多個集群的訪問。在你...kubernetes.io之后
使用Google Cloud Kubernetes Engine
那些不喜歡管理服務器的人呢??好吧,谷歌讓我們受到了保護。?使用他們的Kubernetes Engine,您只需要完成幾個簡單的步驟,就可以從本地計算機上與現場Kubernetes集群進行交互了!
快速入門|?Kubernetes發動機文檔|?Google云端平臺
Google Cloud Shell是一個用于管理托管在Google Cloud Platform(GCP)上的資源的shell環境。Cloud Shell ...cloud.google.com
非常方便。?如果你不相信我,請看看上面。
注意?:為了保持其運行而運行的各種Kubernetes對象都有自己的專用端口。如果您啟用防火墻,請確保允許他們訪問,否則群集將無法正常工作。
從這個令人敬畏的StackOverflow答案?。
部署到Kubernetes
哇...這是配置的公平份額。?最后時間創建一個真正的Kubernetes部署!?掛在那里,這將變得坎坷。
創建Nginx部署
讓我們保持簡單,但仍然使用您在生產環境中通常會使用的所有鈴聲和口哨聲。?我們將創建一個簡單的Nginx部署,通過服務公開它,最后將其擴展。
1.創建部署
創建部署時,Kubernetes會自動為您創建一個pod和副本集。?一探究竟。
連接到本地或云中運行的Kubernetes實例后,繼續運行命令以創建部署。
$ kubectl運行nginx --image = nginxrun命令將從官方nginx Docker鏡像創建一個名為nginx的部署。
要確保部署正在運行,請使用get命令檢查其狀態。
$ kubectl獲得部署nginx您將看到的輸出看起來像這樣。
NAME希望獲得當前最新的可用年齡 nginx 1 1 1 1 1m您在部署中運行了一個pod。?但是,它在私人網絡之外是不可見的。?要公開它,您需要創建一個服務。?猜猜我們接下來要做什么?
2.公開部署
如果我告訴你暴露部署的命令實際上被稱為expose怎么辦??真的是!?這非常方便。?事情才有意義,我很享受。?無論如何,回到服務。
$ kubectl公開部署nginx --external-ip = $ MASTER_IP --port = 80 --target-port = 80expose命令將采用部署參數,您可以在其中指定要將服務掛接到的部署。?--external-ip選項將獲取您的Master的公共IP地址,或者如果您按照本教程運行minikube的實例,請添加minikube-vm IP地址。?第一個--port選項指定將要公開的端口,而?
--target-port指定正在運行pod中容器的端口。
要確保您的服務正在運行,請運行此命令。
$ kubectl獲得服務輸出將如下所示,其中<master_ip>是主服務器的公共IP地址。
名稱類型集群-IP外部-IP端口(S)年齡 kubernetes ClusterIP 10.96.0.1 <無> 443 / TCP 23m nginx ClusterIP 10.111.213.194 <master_ip> 80 / TCP 2m3.擴大規模
可愛!?您有一個正在運行的部署和一個服務,可以顯示您選擇的端口。?現在怎么辦??我們,你還需要一種擴展方式。?值得慶幸的是,Kubernetes有一個漂亮的小命令。
$ kubectl scale deployment nginx --replicas = 6再次檢查部署狀態,您將看到部署有6個pod。
$ kubectl獲得部署nginx NAME希望獲得當前最新的可用年齡 nginx 6 6 6 6 1h您可以使用get pods命令檢查各個pod。
$ kubectl獲取pods NAME READY STATUS RESTARTS AGE nginx-8586cf59-4qdgc 1/1運行0 1h nginx-8586cf59-fdq8r 1/1運行0 1h nginx-8586cf59-j5mdh 1/1運行0 1h nginx-8586cf59-ppqcd 1/1運行0 1h nginx-8586cf59-sn4hd 1/1運行0 1h nginx-8586cf59-w2z55 1/1運行0 1h看起來很棒。?Nginx部署已成功擴展。?但是,這只是一個簡單的Nginx容器。?對于需要持久存儲的多個容器的嚴重應用程序呢??這是一個適當的挑戰。?讓我們開始吧。
創建Node.js和MongoDB部署
偉大的工作堅持到最后。?直到現在我們才能拿出大槍。?通過命令行創建大規模Kubernetes集群不是一個合理的選擇,既不是概述,也不是心理健康。這就是我將在演練的最后一部分中專注于使用配置文件來部署Kubernetes對象的原因。
注意?:對于大型系統,我鼓勵您使用?Helm?。?但這有點超出了本指南的范圍。?讓我們留下另一個教程。
另一個重要的事情是為我們的集群啟用某種持久性。?眾所周知,Pods是無國籍的。?如果我們刪除一個,數據將永遠丟失。?為了解決這個問題,Kubernetes實現了卷的概念。?不要深入挖掘,重要的是要注意一個卷是主機存儲中的資源,它可以處理集群中的所有對象。?持久卷由管理員配置。
我們將討論使用Kubernetes?Persistent Volumes和Persistent Volume Claims?。與持久卷本身不同,用戶請求持久卷聲明來使用來自持久卷的資源。
這是一個例子。?您已創建大小為10 GB的持久卷。?但是,您希望群集中的部署每個僅聲稱?3 GB。
希望現在有意義。?如果它仍然沒有,讓我們直接跳到一些例子供你看。
1.創建持久卷
就像我上面提到的,我們將在本演練中使用yml配置文件來創建對象。?開始時它們是可以理解的,所以不要害怕。
讓我們從創建一個工作目錄開始,我們將保留所有yml文件。?創建一個名為cluster的目錄,并在終端中打開它。?讓我們開始慢一點,看看持久性卷聲明是什么樣的。
注意?:我將所有?yml?文件?添加?為gists,以保持格式良好和干凈。?否則他們將無法正常工作。
?
我們將使用Filesystem卷模式為其提供10 GB的容量和/mnt/data/mongo的主機路徑。?這將在主機上創建持久卷?。
確保在群集文件夾中創建名為mongo-persistent-volume.yml的文件。?連接到Kubernetes集群后,繼續使用kubectl運行create命令。
$ kubectl create -f ./ mongo-persistent-volume.yml我們去了,一個新的持久卷正在運行。?要列出持久卷,請運行以下命令。
$ kubectl get persistentvolume現在我們需要添加持久卷聲明?,供我們的部署使用。?這是yml文件的樣子。
?
再次運行create命令以創建對象。
$ kubectl create -f ./ mongo-persistent-volume-claim.yml我們去!?我們堅持不懈。?準備添加一些計算?
2.創建MongoDB部署
這個創建過程就像我們上面所做的一樣簡單。?我們將再創建兩個文件并運行另外兩個命令。?而已!
?
將上面的mongo-deployment.yml文件添加到您的群集文件夾,然后運行另一個create命令。
$ kubectl create -f ./ mongo-deployment.yml仔細看看上面的yml文件。?我們正在使用mongo映像并綁定默認端口。?除此之外,我們還添加了一個指向我們在上一步中創建的持久卷聲明的卷裝入?。
您還可以看到我們添加了一個tier: backend和app: mongo?。?這將為集群提供集群中的別名,一旦我們添加服務,它就可以被發現。
說到服務,我們加一個。?將其命名為mongo-service.yml?。
?
檢查標簽!?此服務將查找將應用程序設置為mongo和層的所有部署設置為后端并將其公開給群集網絡。?端口設置將確保允許流量通過默認的MongoDB端口27017?。?最后,運行命令以創建對象。
$ kubectl create -f ./ mongo-service.yml3.創建Node.js部署
Node.js部署與我們之前創建的以前沒有顯著差異。?它還將有一個部署文件和一個服務文件。
?
添加node-deployment.yml文件并運行:
$ kubectl create -f ./ node-deployment.yml您可以看到我們也將此部署添加到后端層?。?但是,我們將添加9副本并設置滾動更新策略,以確保即使在更新期間也能獲得最大的正常運行時間。
我們將在部署窗格中構建容器的圖像是我之前寫的一個小型樣板API?。?它具有基本身份驗證,非常適合測試我們的新群集和持久卷。?我還將數據庫連接字符串配置為指向我們在mongo-deployment.yml文件中指定的MongoDB應用程序標簽。
剩下的就是添加服務,就是這樣!
?
看一下這個。?node-service.yml將是負載均衡器?!?它將所有流量通過端口80以循環方式路由到部署中的所有復制pod。?多么酷啊!?
注意?:將?externalIPs:?字段?替換?為主服務器的公共IP地址。?(如果您使用Minikube進行測試,請將其替換為Minikube提供的外部IP)
你能相信我這就是你所需要的嗎??我甚至不開玩笑。?但是,讓我們成為負責任的開發人員并對其進行全面測試,以確保其有效。
測試Node.js和MongoDB集群
首先,檢查資源是否正常運行。
$ kubectl得到所有此命令將返回所有部署,復制副本,窗格和服務的列表。
驗證它是否全部運行。?完成后,啟動REST API測試客戶端,例如Insomnia或Postman?,并測試幾個端點。
點擊我在路由/api上設置為外部的IP地址,將返回一個簡單的字符串,告訴我Node.js API正常運行。
讓我們嘗試注冊一個新用戶。?點擊/api/auth/register端點,并以電子郵件,名稱和密碼字段的格式發送一些JSON數據。
那很有效!?我們收到了一個令牌返回。?讓我們抓住令牌并將其添加到對/api/auth/me端點的GET請求中的x-access-token標頭中。?這應該返回我們剛剛注冊和驗證的John Doe的信息。
可愛!?這就像我們預期的那樣奏效。?現在,只是為了確保,點擊/api/users端點以驗證用戶是否確實已添加到持久卷。?隨意重新啟動部署以確保自己。?因為我們在persistentVolumeReclaimPolicy添加了Retain設置,所以一旦重新啟動,任何部署都將重新使用現有數據。?這有多方便啊!
隨著一切的結束,我們已經走到了一個令人難以置信的旅程的盡頭。?給自己輕拍一下。?您現在已經了解了Kuberentes的基礎知識。
包起來
哇,這需要很多......?
 Kubernetes減輕了在大規模生產環境中使用Docker容器的壓力。?除了Kubernetes之外我永遠不會想要使用任何東西,因為我肩膀上的巨大負擔。
使用Kubernetes,您不必忍受部署難題和憤怒的客戶對您大吼大叫,因為他們的網站已關閉。?這就是你需要它的原因!?讓您高枕無憂。
如果實例失敗,Kubernetes將在正在運行的實例上重新創建失敗實例的資源。您不必擔心您擁有的每個實例,也不必擔心容器是否正在運行。?我會讓它自己說話。?直到下一次。?快樂的慌亂!
?
https://blog.sourcerer.io/a-kubernetes-quick-start-for-people-who-know-just-enough-about-docker-to-get-by-71c5933b4633
總結
以上是生活随笔為你收集整理的【译】A Kubernetes quick start for people who know just enough about Docker to get by的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 【译】A Beginner-Friend
- 下一篇: Building Android App
