ten7.digitalocean_kubeconfig
Ansible 角色: digitalocean_kubeconfig
获取 DigitalOcean Kubernetes 集群的 kubeconfig。
在自动化操作 DigitalOcean Kubernetes 时,你需要一种动态获取 kubeconfig.yaml 的方法。这个文件会定期由 DigitalOcean 更新,作为安全措施。这个角色使用 DigitalOcean API 动态获取 kubeconfig,让你每次都能使用一套新的凭证来访问集群。
需求
- 你必须拥有一个 DigitalOcean API 密钥。
- 必须能访问 DigitalOcean API。
角色变量
可用的变量如下所示,并包含默认值(见 defaults/main.yml
)。
API 令牌
digitalocean_api_token: '1234567890abscdefg'
你的 DigitalOcean API 令牌。
获取 kubeconfig
digitalocean_kubeconfig:
cluster: 'my_cluster_name'
kubeconfig: '/path/to/save/kubeconfig.yaml'
其中:
- cluster: 集群名称
- kubeconfig: 保存 kubeconfig 文件的路径。
依赖
无。
示例剧本
一个简单的用法如下:
---
- hosts: cluster
vars:
digitalocean_api_token: "1234567890abscdefg"
digitalocean_kubeconfig:
cluster: "my_cluster_name"
kubeconfig: "/path/to/save/kubeconfig.yaml"
roles:
- socketwench.digitalocean_kubeconfig
tasks:
- name: 应用我们的定义
k8s:
kubeconfig: "/path/to/save/kubeconfig.yaml"
src: "/path/to/my/k8s_definitions.yml"
有时你可能希望将 kubeconfig 写入临时文件或目录。这种情况下,你可以在 Ansible 2.x 中使用 include_role 或 import_role,将角色变量提供给导入任务:
---
- hosts: cluster
vars:
digitalocean_api_token: '1234567890abscdefg'
tasks:
- name: 创建一个临时目录以存储执行所需的文件
tempfile:
state: directory
register: _run_temp_dir
- name: 获取 kubeconfig 文件。
import_role:
name: socketwench.digitalocean_kubeconfig
vars:
digitalocean_kubeconfig:
cluster: "my_cluster_name"
kubeconfig: "{{ _run_temp_dir.path }}/kubeconfig.yaml"
- name: 应用我们的定义
k8s:
kubeconfig: "{{ _run_temp_dir.path }}/kubeconfig.yaml"
src: "/path/to/my/k8s_definitions.yml"
许可证
GPL v3
作者信息
这个角色是 socketwench 为 TEN7 创建的。
安装
ansible-galaxy install ten7.digitalocean_kubeconfig
许可证
Unknown
下载
6.4k
拥有者
We are a digital agency that builds, rescues and cares for Drupal sites. Our mission is to Make Things That Matter.