可以使用ansible的k8s模块中的kubectl插件来执行kubectl命令。具体步骤如下:
- 在inventory文件或者主机变量中配置kubernetes集群信息,例如:
[kube_cluster]
kube_master ansible_host=192.168.0.1
[kube_cluster:vars]
ansible_user=root
ansible_password=123456
kubeconfig_path=/root/.kube/config
- 在playbook中使用k8s模块的kubectl插件,例如:
- name: Get Kubernetes service
hosts: kube_cluster
tasks:
- name: Execute kubectl command
k8s:
state: present
kubeconfig: "{{ kubeconfig_path }}"
host: "{{ ansible_host }}"
username: "{{ ansible_user }}"
password: "{{ ansible_password }}"
command: "get svc"
register: result
- name: Debug output
debug:
var: result.stdout_lines
上述playbook会在指定的Kubernetes集群上执行kubectl get svc
命令,并将结果存储在result变量中。最后使用debug模块输出结果。