节点池最佳实践
场景:服务在同一个节点池中,同一个应用的Pod之间反亲和,一个节点只能调度一个Pod。
- 创建节点池扩容两个节点。在节点池详情的节点列表可以查看到创建的两个节点。
- 使用以下示例内容,配置应用YAML。通过反亲和性配置两个应用Pod,将不同的Pod调度到节点池不同节点上。
apiVersion: apps/v1 kind: Deployment metadata: name: nginx labels: app: nginx spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: name: nginx labels: app: nginx spec: affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: #设置调度策略。 - labelSelector: matchExpressions: - key: app operator: In values: - nginx topologyKey: kubernetes.io/hostname nodeSelector: ccse.ctyun.cn/nodepool-name: <nodepool-name> #指定节点池。 containers: - name: nginx image: nginx resources: limits: cpu: 1 requests: cpu: 1
- 在无状态页面,单击目标Deployment进入详情,在容器组页签,可以看到两个不同的Pod调度到节点池不同节点上。