自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在Kubernetes集群上部署第一個pod?

譯文
云計算
我們在本文中將看到如何在Kubernetes集群上創(chuàng)建我們的第一個Pod,以及為Nginx創(chuàng)建pod的步驟。

[[437979]]

【51CTO.com快譯】Pod是Kubernetes應用程序的基本執(zhí)行單元。它是一起部署在同一個主機上的容器組成的集合。Kubernetes集群中的Pod可以通過兩種方式來使用:

  • 運行單個容器的Pod:這是使用Pod的最流行方式。Kubernetes管理Pod,而不是直接管理容器。
  • 運行多個需要協(xié)同工作的容器的Pod:在這種模式中,一個Pod可能有多個緊密耦合的容器以共享資源。

如上所述,一個Pod可能有多個容器,因此始終建議盡可能使用單個容器。在單個Pod中組合多個容器是一種相對高級的用例。您應該僅在容器緊密耦合的特定情況下使用該模式。

如果我們部署單個容器,一般可以將“pod”一詞換成“container”。Pod實現(xiàn)了諸成員之間的數(shù)據(jù)共享和聯(lián)系。

Pod 始終在節(jié)點上運行。節(jié)點是Kubernetes中的worker機器,可能是虛擬機或物理機,具體取決于集群。每個節(jié)點由主節(jié)點(Master)管理。一個節(jié)點可能有多個Pod,Kubernetes主節(jié)點跨集群中的節(jié)點自動處理Pod調度。

Pod生命周期的5個階段

  • 等待中:Pod已被Kubernetes系統(tǒng)接受,但一個或多個容器映像尚未創(chuàng)建。這包括調度之前的時間以及通過網絡下載映像所花費的時間,這可能需要一段時間。
  • 運行中:Pod已綁定到一個節(jié)點上,所有容器已創(chuàng)建好。至少有一個容器仍在運行中,或正在啟動或重新啟動。
  • 成功:Pod內所有容器已成功終止,不會重啟。
  • 失?。篜od中的所有容器已終止,至少一個容器終止失敗。也就是說,容器要么以非零狀態(tài)退出,要么被系統(tǒng)終止。
  • 未知:由于某種原因,無法獲取Pod的狀態(tài),通常是由于與Pod主機聯(lián)系出錯。

前提條件

  • AWS帳戶(如果還沒有帳戶,請創(chuàng)建)
  • Kubernetes集群(如果您想學習創(chuàng)建Kubernetes集群,請搜索“使用kubeadm在AWS EC2實例Ubuntu 18.04 LTS上創(chuàng)建Kubernetes集群”)。

注意:如果您不想嘗試AWS EC2實例,也可以使用虛擬機來創(chuàng)建集群。

我們要做什么?

  • 為NginX創(chuàng)建一個Kubernetes Pod,并刪除它。

為Nginx創(chuàng)建Kubernetes Pod

為創(chuàng)建我們的第一個Pod,不妨創(chuàng)建一個新目錄來創(chuàng)建我們的Object/Pod文件。使用以下命令在系統(tǒng)中創(chuàng)建一個新目錄:

  1. mkdir my-first-pod 
  2. cd my-first-pod/ 

在進行下一步之前,請驗證集群的狀態(tài)。

要檢查集群中可用的節(jié)點并檢查“kubectl”的版本,請使用以下命令。

  1. sudo kubectl get nodes 
  2. sudo kubectl version 

使用以下命令列出默認命名空間中的pod。由于這是我們在集群中的第一個pod,您不會看到默認命名空間中的任何pod。

  1. sudo kubectl get pods 

一旦集群中有了可用的節(jié)點,您可以準備創(chuàng)建第一個pod了。

創(chuàng)建文件“my-first-pod.yml”,附有以下代碼段:

  1. vim my-first-pod.yml 
  2. --- 
  3. apiVersion: v1 
  4. kind: Pod 
  5. metadata: 
  6.   name: myfirstpod 
  7.   labels: 
  8.     app: web 
  9. spec: 
  10.   containers: 
  11.     - name: myfirstcontainer 
  12.       image: nginx 
  13.       ports: 
  14.         - containerPort: 80 

其中

  • apiVersion:APIVersion定義了對象的這個表示的版本模式。
  • kind:您想創(chuàng)建的對象的類別。這里它是pod,因為我們在創(chuàng)建的是pod。
  • name:名稱在命名空間中是獨特的。
  • labels:可用于組織和分類對象的字符串鍵和值的映射。
  • spec:pod的預期行為的規(guī)范。

現(xiàn)在您可以準備使用以下命令創(chuàng)建pod了。

  1. sudo kubectl apply -f my-first-pod.yml 

您可以使用以下命令獲取pod的細節(jié)。

  1. sudo kubectl get pods 

為證實Pod是否果真在運行中,運行以下命令。這在我們的pod里面運行命令(注意:這類似運行docker exec。)

  1. sudo kubectl exec myfirstpod — service nginx status 

如果您不再需要pod,可使用“kubectl delete command”刪除它。

  1. sudo kubectl delete pods myfirstpod 

最后要證實pod是否已被刪除,使用以下命令:

  1. sudo kubectl get pods 

結語

我們在本文中了解了pod的基本知識及其生命周期的幾個階段。我們看到了在Kubernetes上創(chuàng)建第一個Nginx Pod的幾個步驟,還看到了如何可以提取有關Pod的細節(jié)。此外,我們還介紹了刪除Pod的命令。

原文標題:How to deploy your first pod on a Kubernetes Cluster

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

 

責任編輯:華軒 來源: 51CTO
相關推薦

2024-07-22 15:49:07

KubernetesRedis

2021-09-02 08:02:50

深度學習Kubernetes集群管理

2020-08-25 07:48:17

Kubernetes集群系統(tǒng)

2021-12-03 23:21:45

數(shù)據(jù)庫MySQLKubernetes

2021-07-20 08:00:00

集群Elasticsear工具

2017-10-13 15:59:24

iPhone機器學習iOS

2021-11-02 08:00:00

機器學習API技術

2024-03-18 09:50:18

Selenium元素Python

2021-03-17 10:05:42

KubernetesRedis數(shù)據(jù)庫

2022-02-17 11:08:00

KubernetesMySQL運維

2021-08-10 07:27:42

Elasticsear集群開源

2022-11-01 07:23:55

Dockernetcore程序

2015-10-10 15:56:22

OpenShiftNodeJS部署PaaS

2025-03-28 08:14:18

2010-07-30 14:50:38

Flex項目

2021-06-15 09:33:44

Kubernetes Prometheus 容器

2015-10-23 17:29:24

AtomicOpenStack 應用部署

2021-09-02 05:37:22

Containerd Kubernetes 容器

2021-05-17 14:51:23

鏈碼區(qū)塊鏈網絡

2020-12-04 18:44:29

KubernetesHTTPS Wordpress
點贊
收藏

51CTO技術棧公眾號