如何使用ansible连接到Kubernetes?

Rad*_*ad4 0 ansible kubernetes

我想使用 Ansible 连接到 Kubernetes。我想运行一些 ansible playbook 来使用 ansible k8s 模块创建 Kubernetes 对象,例如角色和角色绑定。我想知道 Ansible K8s 模块是否是标准的 Kubernetes 客户端,可以像 helm 和 kubectl 一样使用 Kubeconfig。

请让我知道如何配置 Kubeconfig 以便 ansible 连接到 K8s 集群。

Ric*_*ico 6

您基本上可以在 Ansible YAML 文件中指定kubeconfig参数。(默认为~/.kube/config.json)。例如:

---
- hosts: localhost
  gather_facts: false

  vars_files:
    - vars/main.yml

  tasks:
    - name: Deploy my app secrets.
      k8s:
        definition: '{{ item }}'
        kubeconfig: '~/.kube/config'
        state: present
      loop: "{{ lookup('template', 'myapp/mysql-pass.yml') | from_yaml_all | list }}"
      no_log: k8s_no_log
   ...
Run Code Online (Sandbox Code Playgroud)

您还可以将其设为变量:

    ...
    - name: Deploy my app secrets.
      k8s:
        definition: '{{ item }}'
        kubeconfig: '{{ k8s_kubeconfig }}'
    ...
Run Code Online (Sandbox Code Playgroud)