Calico 컴포넌트 디버깅
가상 프라이빗 클라우드 클래식 인프라
버전에서 1.29 그리고 나중에, Calico 운영자가 수를 결정합니다.calico-typha
클러스터 작업자 수를 기반으로 포드를 생성하며 오염된 노드를 고려하지 않습니다. 클러스터에 오염되지 않은 노드가 3개 미만이거나 오염되지 않은 노드 수가 적은 매우 큰 클러스터가 있는 경우 하나 이상의 노드가 있을 수 있습니다.calico-typha
꼬투리가 끼어 있어요 Pending
포드가 실행할 오염되지 않은 노드를 찾을 수 없기 때문입니다. 일반적으로 실행 중인 상태의 calico-typha
파드가 하나 이상 있는 한 문제가 발생하지 않습니다. 그러나 고가용성을 위해 최소 2개의 calico-typha
파드를 항상 실행하는 것이 좋습니다. 가장 좋은 방법은 모든 노드를 실행하기에 오염되지 않은 노드가 충분한지 확인하는 것입니다.calico-typha
다음에 의해 생성된 포드 Calico 운영자.
배치되지 않는 팟(Pod) 또는 간헐적인 네트워킹 문제와 같은 Calico 컴포넌트에 대한 문제가 발생합니다.
문제에 대한 자세한 정보를 수집하려면 Calico 컴포넌트의 로깅 레벨을 늘리십시오.
calico-typha
컴포넌트의 로그 레벨 늘리기
calico-typha
컴포넌트의 로그 레벨을 늘리려면 다음 단계를 완료하십시오.
-
다음 명령을 실행하여
calico-typha
배치를 편집하십시오.1.29 이상 버전:
kubectl edit deploy calico-typha -n calico-system
1.28 이하의 경우:
kubectl edit deploy calico-typha -n kube-system
-
TYPHA_LOGSEVERITYSCREEN
환경 변수를info
에서debug
로 변경하십시오.containers: - env: - name: TYPHA_LOGSEVERITYSCREEN value: debug
-
파일을 저장한 후 닫아 변경사항을 적용하고
calico-typha
배치를 다시 시작하십시오.
calico-cni
컴포넌트의 로그 레벨 늘리기
calico-cni
컴포넌트의 로그 레벨을 늘리려면 다음 단계를 완료하십시오.
-
다음 명령을 실행하여
calico-config
configmap을 편집하십시오.kubectl edit cm -n kube-system calico-config
-
cni_network_config
>plugins
>log_level
환경 변수를debug
로 변경하십시오.cni_network_config: |- { "name": "k8s-pod-network", "cniVersion": "0.3.1", "plugins": [ { "type": "calico", "log_level": "debug",
-
파일을 저장한 후 닫으십시오.
calico-node
팟(Pod)이 다시 시작될 때까지 변경사항이 적용되지 않습니다. -
변경사항을 적용하려면
calico-node
팟(Pod)을 다시 시작하십시오.kubectl rollout restart daemonset/calico-node -n kube-system
출력 예
daemonset.apps/calico-node restarted
calico-node
컴포넌트의 로그 레벨 늘리기
calico-node
컴포넌트의 로그 레벨을 늘리려면 다음 단계를 완료하십시오.
-
다음 명령을 실행하십시오.
1.29 이상 버전:
kubectl edit ds calico-node -n calico-system
1.28 이하의 경우:
kubectl edit ds calico-node -n kube-system
-
FELIX_USAGEREPORTINGENABLED
이름 및 값 쌍 아래에(또는FELIX_*
환경 변수 이름 값 쌍 다음에) 다음 항목을 추가하십시오.- name: FELIX_LOGSEVERITYSCREEN value: Debug
-
변경사항을 저장하십시오. 변경사항을 저장하면
calico-node
daemonset의 모든 팟(Pod)이 변경사항을 적용하는 롤링 업데이트를 완료합니다.calico-cni
도kube-system/calico-config
configmap의 로깅 레벨에 변경사항을 적용합니다.
calico-kube-controllers
컴포넌트의 로그 레벨 늘리기
calico-kube-controllers
컴포넌트의 로그 레벨을 늘리려면 다음 단계를 완료하십시오.
-
다음 명령을 실행하여 daemonset을 편집하십시오.
1.29 이상 버전:
kubectl edit ds calico-node -n calico-system
1.28 이하의 경우:
kubectl edit ds calico-node -n kube-system
-
DATASTORE_TYPE
이름 및 값 쌍 아래에 다음 항목을 추가하십시오.- name: LOG_LEVEL value: debug
-
변경사항을 저장하십시오.
calico-kube-controllers
팟(Pod)이 다시 시작되고 변경사항을 적용합니다.
Calico 로그 수집
-
클러스터의 파드와 노드를 나열하고 문제가 있는 파드 이름, 파드 IP 주소, 워커 노드를 노드로 만드세요.
-
문제점이 발생한 작업자 노드의
calico-node
팟(Pod)에 대한 로그를 가져오십시오.1.29 이상 버전:
kubectl logs calico-typha-aaa11111a-aaaaa -n calico-system
1.28 이하의 경우:
kubectl logs calico-typha-aaa11111a-aaaaa -n kube-system
-
calico-kube-controllers
팟(Pod)에 대한 로그를 가져오십시오.1.29 이상 버전:
kubectl logs calico-kube-controllers-11aaa11aa1-a1a1a -n calico-system
1.28 이하의 경우:
kubectl logs calico-kube-controllers-11aaa11aa1-a1a1a -n kube-system
-
kubectl exec를 사용하여 디버깅의 지시사항에 따라 작업자 노드에서
/var/log/syslog
,containerd.log
,kubelet.log
및kern.log
을(를) 가져오십시오.