mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2026-03-08 02:58:29 +03:00
Add huawei cloud controller (#10198)
* Add huaweicloud as external cloud controller * Add huaweicloud example config * Rename AK,SK to ACCESS_KEY and SECRET_KEY * Add reference to huaweicloud * Fix variable naming * Fix env var name * Update example * Fix variable naming * Fix cloud_config path * Add namespace for leader election * Revert reviewers * Delete OWNERS Delete owners who are not responsible here. * Fix build validation
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
---
|
||||
- name: External Huawei Cloud Controller | Check Huawei credentials
|
||||
include_tasks: huaweicloud-credential-check.yml
|
||||
tags: external-huaweicloud
|
||||
|
||||
- name: External huaweicloud Cloud Controller | Get base64 cacert
|
||||
slurp:
|
||||
src: "{{ external_huaweicloud_cacert }}"
|
||||
register: external_huaweicloud_cacert_b64
|
||||
when:
|
||||
- inventory_hostname == groups['kube_control_plane'][0]
|
||||
- external_huaweicloud_cacert is defined
|
||||
- external_huaweicloud_cacert | length > 0
|
||||
tags: external-huaweicloud
|
||||
|
||||
- name: External huaweicloud Cloud Controller | Get base64 cloud-config
|
||||
set_fact:
|
||||
external_huawei_cloud_config_secret: "{{ lookup('template', 'external-huawei-cloud-config.j2') | b64encode }}"
|
||||
when: inventory_hostname == groups['kube_control_plane'][0]
|
||||
tags: external-huaweicloud
|
||||
|
||||
- name: External Huawei Cloud Controller | Generate Manifests
|
||||
template:
|
||||
src: "{{ item.file }}.j2"
|
||||
dest: "{{ kube_config_dir }}/{{ item.file }}"
|
||||
group: "{{ kube_cert_group }}"
|
||||
mode: 0640
|
||||
with_items:
|
||||
- {name: external-huawei-cloud-config-secret, file: external-huawei-cloud-config-secret.yml}
|
||||
- {name: external-huawei-cloud-controller-manager-roles, file: external-huawei-cloud-controller-manager-roles.yml}
|
||||
- {name: external-huawei-cloud-controller-manager-role-bindings, file: external-huawei-cloud-controller-manager-role-bindings.yml}
|
||||
- {name: external-huawei-cloud-controller-manager-ds, file: external-huawei-cloud-controller-manager-ds.yml}
|
||||
register: external_huaweicloud_manifests
|
||||
when: inventory_hostname == groups['kube_control_plane'][0]
|
||||
tags: external-huaweicloud
|
||||
|
||||
- name: External Huawei Cloud Controller | Apply Manifests
|
||||
kube:
|
||||
kubectl: "{{ bin_dir }}/kubectl"
|
||||
filename: "{{ kube_config_dir }}/{{ item.item.file }}"
|
||||
state: "latest"
|
||||
with_items:
|
||||
- "{{ external_huaweicloud_manifests.results }}"
|
||||
when:
|
||||
- inventory_hostname == groups['kube_control_plane'][0]
|
||||
- not item is skipped
|
||||
loop_control:
|
||||
label: "{{ item.item.file }}"
|
||||
tags: external-huaweicloud
|
||||
Reference in New Issue
Block a user