Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker 如何将印花布配置为使用自定义子网作为默认子网?_Docker_Kubernetes_Project Calico - Fatal编程技术网

Docker 如何将印花布配置为使用自定义子网作为默认子网?

Docker 如何将印花布配置为使用自定义子网作为默认子网?,docker,kubernetes,project-calico,Docker,Kubernetes,Project Calico,我已经能够在CoreOS上使用印花布创建Kubernetes集群 如指南中所述,Calico创建了一个默认子网192.168.0.0/16。服务启动后,我可以通过运行以下命令重新定义子网: $ export ETCD_AUTHORITY=127.0.0.1:6666 $ calicoctl pool remove 192.168.0.0/16 $ calicoctl pool add 10.244.0.0/16 --nat-outgoing 一切都很好。但是,我希望使用cloud config

我已经能够在CoreOS上使用印花布创建Kubernetes集群

如指南中所述,Calico创建了一个默认子网192.168.0.0/16。服务启动后,我可以通过运行以下命令重新定义子网:

$ export ETCD_AUTHORITY=127.0.0.1:6666
$ calicoctl pool remove 192.168.0.0/16
$ calicoctl pool add 10.244.0.0/16 --nat-outgoing
一切都很好。但是,我希望使用cloud config自动化上述操作。我曾尝试使用OneShot服务来执行命令,但它只起了部分作用。新增子网10.244.0.0/16,但未删除192.168.0.0/16。错误是:

calicoctl[1330]: 192.168.0.0/16 is not a configured pool.
我猜这是因为执行
pool remove
命令时,默认子网尚未创建

因此,我的问题是:

  • 有没有办法配置印花布,使其使用我的自定义子网作为 默认值
  • 如果没有,那么有没有办法投票让印花布 在默认情况下执行
    pool remove
    之前完全初始化 子网

  • 来这里参加聚会有点晚了,但是

    随着最近发行的印花布,这更容易自动化。默认情况下,
    calico/node
    容器将尝试创建
    192.168.0.0/16
    池。如果要使用其他池,可以执行以下操作:

  • 在运行
    calico/node
    容器之前,创建要使用的池

  • 启动
    calico/node
    容器,但不使用\u DEFAULT\u POOLS=true环境变量。这将阻止容器创建默认池。()

  • 使用cloud init/systemd,我将执行以下操作:

    [Service]
    Environment=ETCD_AUTHORITY=$private_ipv4:2379
    Environment=NO_DEFAULT_POOLS=true
    ExecStartPre=/opt/bin/calicoctl pool add <your ipv4 pool> --nat-outgoing
    ExecStartPre=/opt/bin/calicoctl pool add <your ipv6 pool>
    ExecStart=/opt/bin/calicoctl node --ip=$private_ipv4 --detach=false
    Restart=always
    RestartSec=10
    
    [Install]
    WantedBy=multi-user.target
    
    [服务]
    环境=ETCD\u权限=$private\u ipv4:2379
    环境=无\u默认\u池=真
    ExecStartPre=/opt/bin/calicottl池添加--nat传出
    ExecStartPre=/opt/bin/calicottl池添加
    ExecStart=/opt/bin/calicottl节点--ip=$private\u ipv4--detach=false
    重新启动=始终
    RestartSec=10
    [安装]
    WantedBy=multi-user.target