Я создаю кластер и пул узлов с
- name: "Create Google Kubernetes Engine Cluster to be setup with with kubectl"
gcp_container_cluster:
name: "{{cluster_name}}"
project: "{{project_id}}"
auth_kind: "serviceaccount"
location: "{{cluster_location}}"
logging_service: "none"
monitoring_service: "none"
service_account_contents: "{{service_account_contents}}"
initial_node_count: 1
register: cluster
- name: "Create node pool for system pods"
gcp_container_node_pool:
name: "default-pool"
project: "{{project_id}}"
cluster: "{{ cluster }}"
auth_kind: "serviceaccount"
location: "{{cluster_location}}"
autoscaling:
enabled: "no"
initial_node_count: 1
service_account_contents: "{{service_account_contents}}"
config:
machine_type: "g1-small"
disk_size_gb: 25
preemptible: "no"
management:
auto_repair: "yes"
auto_upgrade: "yes"
, который отлично работает, однако я не нахожу информации, как аутентифицироваться и, таким образом, получить авторизацию для команд kubectl
, выполняемых с помощью Ansible k8s
module.
Во-первых, документация бесполезна как по формулировкам, так и по примерам. Я не нашел ни руководства, ни сообщения в блоге, ни чего-либо еще, и чувствую, что я первый, кто выполняет эту задачу с Ansible. Я внимательно изучил возвращенный объект кластера (сохраненный с register
выше), но не нашел ничего подходящего. Это относится как к gcp_container_cluster
, так и к gcp_container_cluster_info
.
Насколько я понимаю, мне нужно каким-то образом получить kubeconfig с модулем Ansible, который я могу использовать в модуле k8s, как я бы сделал с gcloud container clusters get-credentials
. Я хотел бы сначала посмотреть, есть ли встроенный способ, прежде чем использовать хакерский обходной путь с помощью команд оболочки в Ansible.
Я использую Ansible 2.9.10 в Ubuntu 20.04.