istvano.microk8s
Ansible 角色:microk8s
下载并安装 microk8s 这是最小、最简单的纯生产级 K8s。
需求
- Ansible >= 2.7
- Linux 发行版
- Debian 家族
- Ubuntu
- Xenial (16.04)
- Bionic (18.04)
- Focal (20.04)(未经测试)
- Jammy (22.04)(未经测试)
- Ubuntu
- Arch Linux(未经测试)
- Debian 家族
许可证
MIT
使用方法
角色变量
此角色中可用的一些变量如下所示。完整集合定义在 [defaults/main.yml](defaults/main.yml)
中。
microk8s_version
: 要使用的版本,默认为1.27/stable
。microk8s_plugins
: 启用/禁用各种插件。当使用name:arg
启用插件时,会将字符串作为arg
传递。microk8s_enable_HA
: 启用/禁用高可用性。microk8s_group_HA
: 其成员将形成高可用集群的主机组。microk8s_group_WORKERS
: 其成员仅作为工作节点的主机组(这里不运行控制平面组件)。microk8s_csr_template
: 如果定义,将导致在生成证书时使用自定义的 CSR。
基本剧本
- hosts: servers
roles:
- role: istvano.microk8s
vars:
microk8s_plugins:
dns: "1.1.1.1"
istio: true
ingress: true
注意:当覆盖插件列表时,建议从 defaults/main.yml
复制整个插件列表,因为一些 Ansible 任务会引用它们(例如 helm3
),否则可能会导致部署失败。
自定义证书请求模板
定制 MicroK8s 在生成集群证书时使用的证书请求模板可能会很有用。例如,可以向证书中添加额外的 SAN,以便从集群外部(例如通过反向代理)访问时,MicroK8s 证书能够验证。
要生成 CSR 模板,最简单的方法是使用没有模板的角色,然后将 CSR 从 /var/snap/microk8s/current/certs/csr.conf.template
复制到你的剧本模板目录,进行编辑并相应地设置 microk8s_csr_template
变量,然后重新运行剧本。
仅添加工作节点(仅限 1.23+)
可以配置额外的节点仅在你的 microk8s 集群中作为工作节点。这可以通过配置 ansible 主机组 microk8s_WORKERS
来完成(该组的名称可以通过 microk8s_group_WORKERS
配置)。每个列在主机组中的主机将基本上运行 microk8s join .... --worker
,更多信息可以在这里找到:microk8s-clustering。
测试
使用 Molecule 包装器和系统 Python
./moleculew lint
./moleculew create
./moleculew list
./moleculew check
./moleculew test
使用 Python 虚拟环境
- 设置虚拟环境
$ python3 -m venv venv
- 激活环境
$ . venv/bin/activate
- 安装带有 lint 和 Docker 选项的 Molecule
$ pip install 'molecule[lint,docker]'
- 如有必要,安装最新的 Ansible 包
$ pip install ansible
- 运行测试命令:
molecule lint
molecule create
molecule list
molecule check
molecule test
安装
ansible-galaxy install istvano.microk8s
许可证
mit
下载
31.6k
拥有者