用户自定义Add-Ons
前提
在Rancher UI创建rke1集群的时候,遇到一种情况,如rancher配置了域名绑定访问,而该域名在rke创建完成之后不可达;此时,需要修改coredns的configmap文件才能实现
需要配置~/.kube/config, 再通过kubectl修改coredns, 主要配置hosts:
1 |
|
因此,为了应对这种创建rke集群需要较复杂的二次手动配置的情况,这次利用rke的addons功能解决
实验环境:
- rancher v2.6.5 , 绑定入口为:https://hzrancher.xxxx.cn:443
- rke版本 v1.23.6-rancher1-1
- coredns 1.9.1(rke自带)
- docker 19.03.11
基于Rancher UI创建rke集群时,编辑YAML(注意addons配置处于rancher_kubernetes_engine_config部分的下一层):
1 |
|
其中,addon_job_timeout为部署addons插件执行的连接时间,默认45秒
验证
当上面Rancher UI配置好所有参数之后,生成命令:
1 |
|
粘贴到rke集群的节点机器执行,之后留意Rancher集群管理-配置日志:
1 |
|
看到日志记录显示:User addons deployed successfully, 说明addons配置安装成功。
也可以通过kubectl查看addons执行记录,以便查询addons配置错误:
1 |
|
其他探索
在addons功能测试过程中,也可以自定义coredns,禁止rke默认安装的coredns,使用addons将coredns所有yaml部署文件添加上去。 基于现在rke集群导出coredns的所有yaml部署文件:
1 |
|
执行generate_coredns_yamls.sh获取汇总后的output.yaml文件(结合实际情况修改),添加到addons中,同时需要禁用rke自带的coredns
1 |
|
参考
https://rke.docs.rancher.com/config-options/add-ons/user-defined-add-ons
https://rke.docs.rancher.com/config-options/add-ons/dns#disabling-deployment-of-a-dns-provider
Gitalking ...