簡體   English   中英

節點關閉后,Pods不在另一個節點上運行

[英]Pods doesn't run on another node after its node down

我創建了一個在Node3 172.24.18.125中運行的mysql pod。 但是,在我停止了Node3中的所有kubernetes服務之后,此容器在一段時間后消失了,而不是在Node1或Node2中運行。 為什么kubernetes主服務器不重新調度另一個節點中的Pod? 以下是Pod和復制控制器的yaml文件。

[root@localhost pods]# kubectl get nodes
NAME LABELS STATUS
127.0.0.1 kubernetes.io/hostname=127.0.0.1 Ready
172.24.18.123 database=mysql,kubernetes.io/hostname=172.24.18.123 Ready
172.24.18.124 kubernetes.io/hostname=172.24.18.124 Ready
172.24.18.125 kubernetes.io/hostname=172.24.18.125 Ready

YAML file to create mysql pod:
apiVersion: v1
kind: Pod
metadata:
name: mysql
labels:
name: mysql
spec:
containers:
- resources:
limits :
cpu: 1
image: mysql
name: mysql
env:
- name: MYSQL_ROOT_PASSWORD
value: welcome
ports:
- containerPort: 3306
  name: mysql

mysql-service.yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    name: mysql
  name: mysql
spec:
  publicIPs:
    - 172.24.18.120
  ports:
    # the port that this service should serve on
    - port: 3306
  # label keys and values that must match in order to receive traffic for this service
  selector:
    name: mysql

replicationcontroller.yaml
apiVersion: v1
kind: ReplicationController
metadata:
 name: mysql-controller
spec:
 replicas: 2
 selector:
   name: mysql
 template:
   metadata:
     labels:
       name: mysql
   spec:
     containers:
       - name: mysql
         image: mysql
         ports:
           - containerPort: 3306

如果直接將Pod創建為Pod,則Pod不會重新安排到其他節點。 Pod只能在單個節點上運行。

復制控制器通過檢測正在運行的Pod的數量何時發生更改(例如由於節點故障)而在需要時創建該Pod的新副本,從而為您處理這些細節。

默認情況下,一旦5分鍾未向主節點報告故障節點,Kubernetes就會認為該節點上的Pod已死。 此后,如果您的Pod是復制控制器的一部分,則該控制器應創建一個新副本,該副本將安排在其他節點上。

暫無
暫無

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

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