반응형
kubernetes 클러스터의 %28register stdout%29 초기화에서 마지막 두 줄을 가져오는 방법
%3 질문에 대한 플레이북 파일입니다.a
- name: Initialize the Kubernetes cluster using kubeadm
command: kubeadm init --config /etc/kubernetes/kubeadminit.yaml
register: init_output
- name: Copy join command to local file
local_action: copy content={{ init_output.stdout }} dest="./join-command"
현재 join-command에는 콘텐츠에 대한 텍스트 %29의 전체 stdout %2830%2B 줄이 포함되어 있습니다. 내가 잡고 싶은 것은 전체 출력 대신 init_output.stdout의 마지막 두 줄뿐이다. I%27ve가 인덱스 참조 %28ie를 사용하는 것을 조사했습니다. init_output.stdout%5B%23%5D%29 그러나 %27은 출력이 항상 같은 길이일 것이라는 것을 모르고 %27은 인덱스를 사용하여 두 줄 이상을 가져오는 방법을 모르지만 i%27m는 마지막 두 줄이 항상 join 명령이 될 것이라고 확신한다. 모든 제안 %3f
목록에서 마지막 두 줄 선택
- local_action: copy content={{ init_output.stdout_lines[-2:] }} dest="./join-command"
블록에서 선 형식을 지정할 수 있는 것은 %27s입니다. 예를들면
- local_action:
module: copy
content: |
{{ init_output.stdout_lines[-2] }}
{{ init_output.stdout_lines[-1] }}
dest: "./join-command"
루프로 선을 추가하려면
- local_action:
module: lineinfile
path: "./join-command"
line: "{{ item }}"
insertafter: EOF
create: true
loop: "{{ init_output.stdout_lines[-2:] }}"
이런 문제가 발생하여 join 명령을 로컬 파일에 복사하고 싶지 않아서 set_fact를 대신했습니다% 3a
- set_fact:
join_cmd: '{{ init_output.stdout_lines[-2][:-2] }}{{ init_output.stdout_lines[-1] }}'
내가 한 짓이...
- name: kubeadm init
shell: |
kubeadm init --control-plane-endpoint \
localhost \
--control-plane-endpoint kube-api.local >> /tmp/run_kube_init.sh
when: master == "yes"
- name: Extract join token for nodes
shell: tail -n +2 /tmp/run_kube_init.sh | head -n -1 | awk '{print $5}' | tail -n 1
register: JOIN_TOKEN
when: master == "yes"
- set_fact:
join_token: "{{ JOIN_TOKEN.stdout }}"
when: master == "yes"
- name: join nodes
shell: |
kubeadm join kube-api.local:6443 \
--token {{ JOIN_TOKEN.stdout }} \
--discovery-token-unsafe-skip-ca-verification
when: master == "no"
- name: rm /tmp/run_kube_init.sh
ansible.builtin.file:
path: /tmp/run_kube_init.sh
state: absent
when: master == "yes"
반응형
'기타' 카테고리의 다른 글
Python kernel dies on Jupyter Notebook with tensorflow 2 (1) | 2022.10.31 |
---|---|
리소스 수동 변경으로 지형 상태를 업데이트하는 방법 (0) | 2022.10.31 |
How to create a table with clickable hyperlink in pandas & Jupyter Notebook (0) | 2022.10.30 |
Having a problem with Flutter Doctor on Arch Linux (1) | 2022.10.30 |
공인인증서가 있는데도 보이지 않을 때 (5) | 2016.06.11 |