5.4. 사용할 수 없는 Kubernetes API 조사
Kubernetes API를 사용할 수 없는 경우 컨트롤 플레인 노드를 확인하여 올바른 구성 요소를 실행하고 있는지 확인합니다. 또한 호스트 이름 확인을 확인하십시오.
프로세스
다음 명령을 실행하여 각 컨트롤 플레인 노드에서
etcd
가 실행되고 있는지 확인합니다.sudo crictl logs $(sudo crictl ps --pod=$(sudo crictl pods --name=etcd-member --quiet) --quiet)
$ sudo crictl logs $(sudo crictl ps --pod=$(sudo crictl pods --name=etcd-member --quiet) --quiet)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전 명령이 실패하면 Kubelet에서 다음 명령을 실행하여
etcd
pod를 생성했는지 확인합니다.sudo crictl pods --name=etcd-member
$ sudo crictl pods --name=etcd-member
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 포드가 없는 경우
etcd
를 조사합니다.다음 명령을 사용하여 클러스터 노드에서
localhost.localdomain
뿐만 아니라 정규화된 도메인 이름이 있는지 확인합니다.hostname
$ hostname
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 호스트 이름이 설정되지 않은 경우 올바른 호스트 이름을 설정합니다. 예를 들면 다음과 같습니다.
sudo hostnamectl set-hostname <hostname>
$ sudo hostnamectl set-hostname <hostname>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow dig
명령을 사용하여 DNS 서버에서 각 노드에 올바른 이름 확인이 있는지 확인합니다.dig api.<cluster_name>.example.com
$ dig api.<cluster_name>.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el8 <<>> api.<cluster_name>.example.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37551 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ; COOKIE: 866929d2f8e8563582af23f05ec44203d313e50948d43f60 (good) ;; QUESTION SECTION: ;api.<cluster_name>.example.com. IN A ;; ANSWER SECTION: api.<cluster_name>.example.com. 10800 IN A 10.19.13.86 ;; AUTHORITY SECTION: <cluster_name>.example.com. 10800 IN NS <cluster_name>.example.com. ;; ADDITIONAL SECTION: <cluster_name>.example.com. 10800 IN A 10.19.14.247 ;; Query time: 0 msec ;; SERVER: 10.19.14.247#53(10.19.14.247) ;; WHEN: Tue May 19 20:30:59 UTC 2020 ;; MSG SIZE rcvd: 140
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el8 <<>> api.<cluster_name>.example.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37551 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ; COOKIE: 866929d2f8e8563582af23f05ec44203d313e50948d43f60 (good) ;; QUESTION SECTION: ;api.<cluster_name>.example.com. IN A ;; ANSWER SECTION: api.<cluster_name>.example.com. 10800 IN A 10.19.13.86 ;; AUTHORITY SECTION: <cluster_name>.example.com. 10800 IN NS <cluster_name>.example.com. ;; ADDITIONAL SECTION: <cluster_name>.example.com. 10800 IN A 10.19.14.247 ;; Query time: 0 msec ;; SERVER: 10.19.14.247#53(10.19.14.247) ;; WHEN: Tue May 19 20:30:59 UTC 2020 ;; MSG SIZE rcvd: 140
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 위 예제의 출력은
api.<cluster_name>.example.com
VIP의 적절한 IP 주소가10.19.13.86
임을 나타냅니다. 이 IP 주소는baremetal
네트워크에 있어야합니다.