我已经能够按照本指南使用 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 自动执行上述操作。我曾尝试使用 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
我猜这是因为执行命令时尚未创建默认子网。
所以我的问题是:
- 有没有办法配置 Calico,使其使用我的自定义子网作为默认子网?
- 如果没有,那么有没有办法
pool remove
在默认子网上执行之前轮询 Calico 以完全初始化?