zoukankan      html  css  js  c++  java
  • Calico 3.5:根据节点标签分配 IP

    需求: node1 node2 的 pod 都分配一个网段,  node3 node4 的 pod 都分配一个网段

    复制代码
          -------------------
           |    router       |
           -------------------
           |                 |
    ---------------   ---------------
    | rack-0      |   | rack-1      |
    ---------------   ---------------
    | kube-node-1 |   | kube-node-3 |
    - - - - - - - -   - - - - - - - -
    | kube-node-2 |   | kube-node-4 |
    - - - - - - - -   - - - - - - - -
    复制代码

    使用pod 10.20.0.0/16,我们的目标以下设置:保留10.20.1.0/2410.20.2.0/24池的rack-0rack-1

    通过calicoctl 命令 查看默认CIDR池, 并且删除

     1. 删除默认IP池

    calicoctl delete ippools default-ipv4-ippool

    2. 对node节点打标记

    复制代码
    设置label
    
    kubectl label node node1  rack=0
    kubectl label node node2  rack=0
    kubectl label node node3  rack=1
    kubectl label node node3  rack=1
    复制代码

    3. 为每个机架设置IP池

    复制代码
    calicoctl create -f -<<EOF
    apiVersion: projectcalico.org/v3
    kind: IPPool
    metadata:
      name: rack-0-ippool
    spec:
      cidr: 10.20.1.0/24
      ipipMode: Always
      natOutgoing: true
      nodeSelector: rack == "0"
    EOF
    复制代码
    复制代码
    calicoctl create -f -<<EOF
    apiVersion: projectcalico.org/v3
    kind: IPPool
    metadata:
      name: rack-1-ippool
    spec:
      cidr: 10.20.2.0/24
      ipipMode: Always
      natOutgoing: true
      nodeSelector: rack == "1"
    EOF
    复制代码

    应该有两个启用的IP池,运行时可以看到它们

    calicoctl get ippool -o wide
    NAME                  CIDR             NAT    IPIPMODE   DISABLED   SELECTOR
    rack-0-ippool         10.20.1.0/24   true   Always     false      rack == "0"
    rack-1-ippool         10.20.2.0/24   true   Always     false      rack == "1"

    4. 验证

    复制代码
    kubect get pod
    
    NAME                   READY   STATUS    RESTARTS   AGE    IP             NODE          NOMINATED NODE   READINESS GATES
    nginx-5c7588df-prx4z   1/1     Running   0          6m3s   10.20.1.64     node1   <none>           <none>
    nginx-5c7588df-s7qw6   1/1     Running   0          6m7s   10.20.1.129    node2   <none>           <none>
    nginx-5c7588df-w7r7g   1/1     Running   0          6m3s   10.20.2.55     node3   <none>           <none>
    nginx-5c7588df-62lnf   1/1     Running   0          6m3s   10.20.2.56     node4   <none>           <none>
    复制代码

    https://docs.projectcalico.org/networking/assign-ip-addresses-topology

  • 相关阅读:
    10 个雷人的注释,就怕你不敢用!
    Java 14 之模式匹配,非常赞的一个新特性!
    poj 3661 Running(区间dp)
    LightOJ
    hdu 5540 Secrete Master Plan(水)
    hdu 5584 LCM Walk(数学推导公式,规律)
    hdu 5583 Kingdom of Black and White(模拟,技巧)
    hdu 5578 Friendship of Frog(multiset的应用)
    hdu 5586 Sum(dp+技巧)
    hdu 5585 Numbers
  • 原文地址:https://www.cnblogs.com/dream397/p/14924394.html
Copyright © 2011-2022 走看看