簡體   English   中英

Pod 部署問題和 Kubernetes 集群的查詢

[英]Pod deployment issue and query over Kubernetes cluster

我創建了一個 k8s 集群和網絡,使用 1 個主節點和 2 個節點。 然而,在 pod (nginx) 部署期間,部署僅發生在一台服務器上,即 node1,而不是在另一台服務器上,即 node2,結果如下所示 o/p

[root@controller Kubernetes]# kubectl get pods -o wide
NAME    READY   STATUS    RESTARTS   AGE   IP            NODE    NOMINATED NODE   READINESS GATES
nginx   1/1     Running   0          10m   192.168.1.2   node1   <none>           <none>
[root@controller Kubernetes]#

這意味着 nginx 僅部署在 node1 而不是 node2

節點加入master的結果

NAME         STATUS   ROLES    AGE    VERSION   INTERNAL-IP     EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION               CONTAINER-RUNTIME
controller   Ready    master   142m   v1.16.0   192.168.33.20   <none>        CentOS Linux 7 (Core)   3.10.0-1062.1.1.el7.x86_64   docker://1.13.1
node1        Ready    <none>   134m   v1.16.0   192.168.33.10   <none>        CentOS Linux 7 (Core)   3.10.0-1062.1.1.el7.x86_64   docker://1.13.1
node2        Ready    <none>   46m    v1.16.0   192.168.33.30   <none>        CentOS Linux 7 (Core)   3.10.0-1062.1.1.el7.x86_64   docker://1.13.1
[root@controller Kubernetes]#

豆莢文件:

apiVersion: v1
kind: Pod
metadata:
  name: nginx
  labels:
     name: nginx-web-application

spec:
  containers:
    - name: nginx-container
      image: nginx

當我運行以下命令時,我也想看到 node2 上發生的部署,你能告訴為什么它沒有在兩個節點上發生:

kubectl create -f pod.yml

您的設置在其中一個節點上創建了一個帶有一個容器的 pod(哪個由kube-scheduler決定)。

如果您想在每個節點上運行該 pod,請使用DaemonSet ,它可確保在每個節點上運行一個 pod 的副本。

如果您的兩個節點都能夠運行該 pod(查看kube-scheduler ),那么具有 2 個或更多副本的部署應該可以工作,因為您有兩個節點。

最后一件事 - 你可以使用Taints 和 Tolerations 最簡單的方法是污染您的node1以不允許在其上安裝 shceduling pod(來自文檔的示例):

kubectl taint nodes node1 key:NoSchedule-

Pod 恰好是容器的一個副本(很少有多個緊密耦合的容器)。 它將僅在一個節點上運行。

你幾乎不想直接使用 Pod; 相反,更喜歡更高級別的 controller object。 大多數情況下,您將使用Deployment ,您可以告訴您想要它,例如在集群中某處運行的 Pod 的 3 個副本。 如果您實際上需要在每個節點上運行一個副本(通常這只需要基礎設施類型的 Pod),那就是 DaemonSet 的model

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM