BottleRocket, Ubuntu 또는 Redhat의 기본 및 워커 노드에서 EKS Anywhere 클러스터 구성 요소 로그를 확인하려면 어떻게 해야 하나요?
Amazon Elastic Kubernetes Service(Amazon EKS) Anywhere에서 컨트롤 플레인 또는 데이터 영역 머신 생성이 실패할 때 구성 요소 로그를 확인하고 싶습니다.
간략한 설명
Amazon EKS Anywhere 워크로드 클러스터를 생성하는 동안 컨트롤 플레인, etcd, 데이터 영역에서 각 머신의 로그를 확인할 수 있습니다.
각 머신의 구성 요소 로그를 확인하려면 다음 조건이 충족되어야 합니다.
- EKS Anywhere가 워크로드 클러스터 생성을 시도하고 있으며 각 머신이 생성 과정에 있습니다.
- 각 머신에서 컨트롤 플레인, etcd 및 데이터 영역에서 SSH를 통해 로그인할 수 있습니다.
해결 방법
$ kubectl get machines 명령으로 각 머신의 상태를 확인합니다.
관리 클러스터의 예:
$ kubectl get machines -A NAMESPACE NAME CLUSTER NODENAME PROVIDERID PHASE AGE VERSION eksa-system mgmt-etcd-bwnfq mgmt vsphere://4230b0d5-7b14-4753-bd41-3dbe4987dbc4 Running 5h26m eksa-system mgmt-etcd-bzm77 mgmt vsphere://4230b278-1fb4-f539-0afe-9f12afebf86b Running 5h26m eksa-system mgmt-etcd-dzww2 mgmt vsphere://42309b5a-b0ad-58a5-1e40-5fe39a3d1640 Running 5h26m eksa-system mgmt-jw8dl mgmt 10.4.11.19 vsphere://42304059-c833-48d3-9856-7f902c852743 Running 5h26m v1.24.9-eks-1-24-7 eksa-system mgmt-md-0-66b858b477-6cbcz mgmt 10.4.35.76 vsphere://4230efad-5d42-c570-36c5-bf9ee92ee011 Running 5h26m v1.24.9-eks-1-24-7 eksa-system mgmt-md-0-66b858b477-8h88c mgmt 10.4.19.38 vsphere://4230edbf-db9b-3ae9-a2e6-8421e06863fb Running 5h26m v1.24.9-eks-1-24-7 eksa-system mgmt-s7fb7 mgmt 10.4.67.152 vsphere://42301d6f-feb1-d967-9750-148d0823c7b5 Running 5h26m v1.24.9-eks-1-24-7
머신의 상태를 확인하고 구성 요소 로그를 점검할 수 있는지 확인한 후 SSH를 통해 각 머신에 로그인합니다. 다음 예에서 user는 각 제공업체의 MachineConfig에 지정된 SSH 로그인 사용자입니다.
$ ssh -i private_key_file user@Machine_IP_address
컴퓨터의 운영 체제(OS)에 따라 관련 단계를 수행하여 컴포넌트 로그를 확인합니다.
참고: 컨트롤 플레인 섹션은 클러스터 이름 접두사("cluster_name-")가 있는 이름으로 지정된 머신을 나타냅니다. etcd 섹션은 클러스터 이름과 etcd 접두사("cluster_name-etcd-")가 있는 이름으로 지정된 머신을 나타냅니다. 데이터 영역 섹션은 클러스터 이름과 워커 노드 이름 접두사("cluster_name-worker_node_name-")가 포함된 이름의 머신을 나타냅니다. ClusterConfig 설정에 따라 etcd는 전용 머신을 갖지 않고 대신 컨트롤 플레인에서 시작할 수 있습니다.
BottleRocket OS가 설치된 머신
SSH로 로그인하면 관리자 컨테이너에도 로그인하게 됩니다. 디버깅을 위해 로그를 확인하기 전에 다음 명령으로 루트 권한을 얻으세요.
$ sudo sheltie
컨트롤 플레인
kubelet 로그의 경우, 다음 명령을 실행합니다.
# journalctl -u kubelet.service --no-pager
컨테이너 로그의 경우, 다음 명령을 실행합니다.
# journalctl -u containerd.service --no-pager
머신 초기화 로그의 경우, 다음 명령을 실행합니다.
# journalctl _COMM=host-ctr --no-pager
각 컨테이너 로그에 대해 /var/log/containers 디렉터리에서 로그를 확인합니다.
Kubernetes kube-apiserver, kube-controller-manager, kube-scheduler, kube-vip 매니페스트의 경우 /etc/kubernetes/manifest 디렉터리에서 파일을 확인합니다.
etcd
컨테이너 로그의 경우, 다음 명령을 실행합니다.
# journalctl -u containerd.service --no-pager
머신 초기화 로그의 경우, 다음 명령을 실행합니다.
# journalctl _COMM=host-ctr --no-pager
etcd 로그의 경우, /var/log/containers 디렉터리를 찾습니다.
데이터 영역
kubelet 로그의 경우, 다음 명령을 실행합니다.
# journalctl -u kubelet.service --no-pager
컨테이너 로그의 경우, 다음 명령을 실행합니다.
# journalctl -u containerd.service --no-pager
머신 초기화 로그의 경우, 다음 명령을 실행합니다.
# journalctl _COMM=host-ctr
각 컨테이너 로그에 대해 /var/log/containers 디렉터리에서 로그를 확인합니다.
참고: AWS Snow를 공급자로 사용하는 경우, 각 노드에서 다음 명령의 결과도 확인합니다.
# journalctl -u bootstrap-containers@bottlerocket-bootstrap-snow.service # systemctl status bootstrap-containers@bottlerocket-bootstrap-snow
Ubuntu 또는 Red Hat Enterprise Linux OS가 설치된 머신
디버깅을 위해 로그를 확인하기 전에 다음 명령으로 루트 권한을 얻으세요.
$ sudo su -
컨트롤 플레인
kubelet 로그의 경우, 다음 명령을 실행합니다.
# journalctl -u kubelet.service --no-pager
컨테이너 로그의 경우, 다음 명령을 실행합니다.
# journalctl -u containerd.service --no-pager
머신 초기화 로그의 경우, 다음 명령을 실행합니다.
# cat /var/log/cloud-init-output.log
각 컨테이너 로그에 대해 /var/log/containers 디렉터리에서 로그를 확인합니다.
머신을 시작할 때 개시되는 사용자 데이터의 경우, 다음 명령을 실행합니다.
# cat /var/lib/cloud/instance/user-data.txt
Kubernetes kube-apiserver, kube-controller-manager, kube-scheduler, kube-vip 매니페스트의 경우 /etc/kubernetes/manifest 디렉터리에서 파일을 확인합니다.
etcd
etcd 로그의 경우, 다음 명령을 실행합니다.
# journalctl -u etcd.service --no-pager
머신 초기화 로그의 경우, 다음 명령을 실행합니다.
# cat /var/log/cloud-init-output.log
머신을 시작할 때 개시되는 사용자 데이터의 경우, 다음 명령을 실행합니다.
# cat /var/lib/cloud/instance/user-data.txt
데이터 영역
kubelet 로그의 경우, 다음 명령을 실행합니다.
# journalctl -u kubelet.service --no-pager
컨테이너 로그의 경우, 다음 명령을 실행합니다.
# journalctl -u containerd.service --no-pager
머신 초기화 로그의 경우, 다음 명령을 실행합니다.
# cat /var/log/cloud-init-output.log
머신을 시작할 때 개시되는 사용자 데이터의 경우, 다음 명령을 실행합니다.
cat /var/lib/cloud/instance/user-data.txt
각 컨테이너 로그에 대해 /var/log/containers 디렉터리에서 로그를 확인합니다.
관련 콘텐츠
- 질문됨 2달 전lg...
- 질문됨 2달 전lg...
- 질문됨 일 년 전lg...
- AWS 공식업데이트됨 2년 전
- AWS 공식업데이트됨 6달 전
- AWS 공식업데이트됨 2년 전
- AWS 공식업데이트됨 2년 전