使用复制 Controller ,当我安排 2(两个)Pod 副本时,我希望每个节点(虚拟机)中各有 1(一)个副本。相反,我发现两个副本都是在同一个 Pod 中创建的。这将使 1 个节点成为我需要避免的单点故障。
对于 2 个 Pod:节点 A 中有 1 个 Pod,节点 B 中有 1 个 Pod
对于 3 个 Pod:节点 A 中有 2 个 Pod,节点 B 中有 1 个 Pod,kubernetes 可以根据资源可用性进行调度
对哪些配置不正确有什么建议吗?
apiVersion: v1
kind: ReplicationController
metadata:
name: myweb-rc
spec:
replicas: 2
selector:
role: "myweb"
template:
metadata:
labels:
role: "myweb"
spec:
containers:
- name: tomcat
image: myregistry.my.com/dev/cert/my-web/myweb/deployment_build_app-671-354-1.0.0-snapshot
ports:
- name: tomcat
containerPort: 8080
readinessProbe:
httpGet:
path: /app
port: 8080
initialDelaySeconds: 30
timeoutSeconds: 1
resources:
requests:
cpu: 1000m
memory: 100Mi
limits:
cpu: 2000m
memory: 7629Mi
imagePullSecrets:
- name: myregistrykey
nodeSelector:
kubernetes.io/hostname: myapp01
最佳答案
您没有用相同的键值对标记所有节点是否可行?
您需要确保您希望 Kubernetes 调度 pod 的每个节点都具有相同的键值对标签,并且配置相似,因为 Kubernetes 只会在标记有 kubernetes.io/hostname 的节点上进行调度:myapp01
和配置与复制 Controller 中定义的内容匹配。
关于Kubernetes 将 Pod 调度到不同节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37910275/