ansible部署二进制k8s集群role怎么写
时间: 2023-02-11 11:13:09 浏览: 133
ansible自动化安装k8s集群
5星 · 资源好评率100%
Ansible 的 role 用来组织一组相关的任务和变量。下面是一个简单的示例:
1. 在 `roles` 目录下新建一个名为 `k8s-cluster` 的文件夹,用来存放 k8s 集群部署相关的文件。
2. 在 `k8s-cluster` 目录下新建 `tasks` 目录,用来存放所有要执行的任务。
3. 在 `tasks` 目录下新建一个名为 `main.yml` 的文件,用来定义所有要执行的任务。
4. 在 `main.yml` 中通过 `shell` 或 `command` 模块执行安装 k8s 集群所需的命令,如下所示:
```
- name: Install kubeadm, kubelet and kubectl
shell: apt-get install -y kubeadm kubelet kubectl
- name: Initialize k8s cluster
shell: kubeadm init --apiserver-advertise-address={{ ansible_eth0.ipv4.address }}
```
5. 在 `k8s-cluster` 目录下新建 `vars` 目录,用来存放所有变量。
6. 在 `vars` 目录下新建一个名为 `main.yml` 的文件,用来定义所有变量。
7. 在 `main.yml` 中定义所需的变量,如下所示:
```
cluster_name: my-k8s-cluster
```
8. 在主 playbook 中引用该 role
```
- name: Deploy k8s cluster
hosts: k8s-nodes
roles:
- k8s-cluster
```
以上只是一个简单的示例,请根据实际需求进行完善。
阅读全文