侧边栏壁纸
博主头像
会飞的大象博主等级

爱运动的程序猿

  • 累计撰写 126 篇文章
  • 累计创建 158 个标签
  • 累计收到 0 条评论
标签搜索

目 录CONTENT

文章目录
k8s

k8s节点上副本分配不均匀问题解决

会飞的大象
2021-11-02 / 0 评论 / 0 点赞 / 830 阅读 / 0 字

k8s创建多个副本默认先用第一台服务器,当第一台服务器资源满了才会去第二台服务器创建副本

解决方案:1. 给相应的节点打上标签,并添加亲和性。
2.使用DaemonSet 参考文档https://blog.csdn.net/yanggd1987/article/details/107507216

1.给相应节点打上标签

#查看节点全部标签
kubectl get node --show-labels
执行如下命令标注 node-75是配置 标签serviceType值为query-service
kubectl label node node-75 serviceType=query-service
然后通过 kubectl get node --show-labels 查看全部节点的 label。

如果要删除 label disktype,就执行如下命令删除即可:
kubectl label node k8s-node1 disktype-

2.给部署yaml加上亲和性

spec:
  replicas: 4
  selector:
    matchLabels:
      app: http-socsp-query
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: http-socsp-query
    spec:
      #亲和性添加 有nodeAffinity根据node选择 Podaffinity 根据pod等
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: serviceType
                operator: In
                values:
                - query-service
      containers:
      - image: 192.168.0.74:5000/http-socsp-query:latest
        imagePullPolicy: Always
        ports:
          - containerPort: 19237
        name: http-socsp-query
        resources: {}
        volumeMounts:

3.运行yaml文件

kubectl apply -f http-socsp-query.yaml

4.查看pod运行情况
kubectl get pod -o wide
image.png


5.副本数根据节点完成了均匀分配

0

评论区