当前位置: 首页 > 知识库问答 >
问题:

Kubernetes将豆荚调度到不同的节点

宦树
2023-03-14

使用复制控制器,当我调度一个pod的2个(两个)副本时,我期望每个节点中各有1个(一个)副本。相反,我发现两个副本都是在同一个吊舱中创建的。这将使1个节点成为我需要避免的单点故障。

对于2个pod:节点A中的1个pod,节点B中的1个pod

对于3个吊舱:节点A中的2个吊舱,节点B中的1个吊舱,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

共有1个答案

沈长恨
2023-03-14

您没有用相同的键值对标记所有节点是可行的吗?

您需要确保您希望Kubernetes在其中调度pod的每个节点都具有相同的键值对标签,并且配置相似,因为Kubernetes将仅在标记为Kubernetes.io/hostname:myapp01的节点上调度,并且配置与复制控制器中定义的匹配。

 类似资料:
  • 以下是两位工作人员的日志,这将有助于强调这个问题: 工人-0: 工人2:

  • 我在一个有3个节点的kubernetes集群上运行nginx。 我想知道是否有任何好处,例如,有4个豆荚和限制他们的CPU/MEM约。节点容量的1/4相对于每个节点运行一个pod,限制CPU/MEM,以便pod可以使用整个节点的资源(为了简单起见,我们将cubernet服务排除在等式之外)。 我的感觉是,豆荚越少,开销就越小,每个节点使用1个豆荚应该是性能最好的? 提前致谢

  • 并且不能ping它在其他节点上的副本。 以下是主机接口: 节点上的进程:

  • PostgreService.yaml 已创建服务的终结点为 然后我在pod(kubectl exec-it mark-dummy-pod bash)内运行ping172.31.6.149,但不工作。(ping localhost正在工作)

  • 我们有一个应用程序,其中包含 4 个 pod,并使用负载均衡器运行!我们想尝试滚动更新,但我们不确定当 Pod 出现故障时会发生什么!文档不清楚!特别是《豆荚的终止》中的这句话: Pod将从服务的endpoint列表中删除,并且不再被视为复制控制器的运行Pod集的一部分。缓慢关闭的Pod可以继续为流量提供服务,因为负载平衡器(如服务代理)将它们从轮换中删除。 因此,如果有人能在以下问题上指导我们:

  • 我希望我的pod在一段时间后(例如每周或每月)从我的部署中优雅地回收。如果我知道库伯内特斯命令,我知道我可以为此添加一个cron作业。 问题是在库伯内特斯做这件事的最好方法是什么,哪个命令会让我实现这个目标? 非常感谢你在这件事上帮助我。