kubespray 2.24 추가
This commit is contained in:
45
roles/etcdctl_etcdutl/tasks/main.yml
Normal file
45
roles/etcdctl_etcdutl/tasks/main.yml
Normal file
@@ -0,0 +1,45 @@
|
||||
---
|
||||
- name: Copy etcdctl and etcdutl binary from docker container
|
||||
command: sh -c "{{ docker_bin_dir }}/docker rm -f etcdxtl-binarycopy;
|
||||
{{ docker_bin_dir }}/docker create --name etcdxtl-binarycopy {{ etcd_image_repo }}:{{ etcd_image_tag }} &&
|
||||
{{ docker_bin_dir }}/docker cp etcdxtl-binarycopy:/usr/local/bin/{{ item }} {{ bin_dir }}/{{ item }} &&
|
||||
{{ docker_bin_dir }}/docker rm -f etcdxtl-binarycopy"
|
||||
with_items:
|
||||
- etcdctl
|
||||
- etcdutl
|
||||
register: etcdxtl_install_result
|
||||
until: etcdxtl_install_result.rc == 0
|
||||
retries: 4
|
||||
delay: "{{ retry_stagger | random + 3 }}"
|
||||
changed_when: false
|
||||
when: container_manager == "docker"
|
||||
|
||||
- name: Download etcd binary
|
||||
include_tasks: "../../download/tasks/download_file.yml"
|
||||
vars:
|
||||
download: "{{ download_defaults | combine(downloads.etcd) }}"
|
||||
when: container_manager in ['crio', 'containerd']
|
||||
|
||||
- name: Copy etcd binary
|
||||
unarchive:
|
||||
src: "{{ downloads.etcd.dest }}"
|
||||
dest: "{{ local_release_dir }}/"
|
||||
remote_src: yes
|
||||
when: container_manager in ['crio', 'containerd']
|
||||
|
||||
- name: Copy etcdctl and etcdutl binary from download dir
|
||||
copy:
|
||||
src: "{{ local_release_dir }}/etcd-{{ etcd_version }}-linux-{{ host_architecture }}/{{ item }}"
|
||||
dest: "{{ bin_dir }}/{{ item }}"
|
||||
mode: 0755
|
||||
remote_src: yes
|
||||
with_items:
|
||||
- etcdctl
|
||||
- etcdutl
|
||||
when: container_manager in ['crio', 'containerd']
|
||||
|
||||
- name: Create etcdctl wrapper script
|
||||
template:
|
||||
src: etcdctl.sh.j2
|
||||
dest: "{{ bin_dir }}/etcdctl.sh"
|
||||
mode: 0755
|
||||
14
roles/etcdctl_etcdutl/templates/etcdctl.sh.j2
Normal file
14
roles/etcdctl_etcdutl/templates/etcdctl.sh.j2
Normal file
@@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
# {{ ansible_managed }}
|
||||
# example invocation: etcdctl.sh get --keys-only --from-key ""
|
||||
|
||||
etcdctl \
|
||||
{% if etcd_deployment_type == "kubeadm" %}
|
||||
--cacert {{ kube_cert_dir }}/etcd/ca.crt \
|
||||
--cert {{ kube_cert_dir }}/etcd/server.crt \
|
||||
--key {{ kube_cert_dir }}/etcd/server.key "$@"
|
||||
{% else %}
|
||||
--cacert {{ etcd_cert_dir }}/ca.pem \
|
||||
--cert {{ etcd_cert_dir }}/admin-{{ inventory_hostname }}.pem \
|
||||
--key {{ etcd_cert_dir }}/admin-{{ inventory_hostname }}-key.pem "$@"
|
||||
{% endif %}
|
||||
Reference in New Issue
Block a user