본문으로 건너뛰기
버전: 1.0.4

2.1. 클러스터 개요

어떨 때 보는가​

  • 아침에 클러스터가 정상인지 한 번에 확인할 때
  • 파드가 배치되지 않을 때 자원이 남아 있는지 볼 때
  • 무슨 일이 벌어지고 있는지 이벤트로 확인할 때

개요 대시보드​

왼쪽 메뉴에서 클러스터 를 누릅니다.

클러스터 개요

위쪽에 자원 사용량 타일 네 개가 있습니다.

타일표시 내용
CPU 사용량실제 사용 중인 CPU, 요청량 합계, 전체 용량
메모리 사용량실제 사용 중인 메모리, 요청량 합계, 전체 용량
Pod실행 중인 파드 수와 배치 가능한 최대 수
노드정상 상태인 노드 수와 전체 노드 수

자원 사용량 읽는 법​

타일에는 숫자가 세 개 나옵니다. 뜻이 서로 다릅니다.

표기뜻무엇을 판단하는가
사용량지금 실제로 쓰는 양성능 문제
할당됨파드들이 요청한 양의 합계새 파드를 배치할 수 있는지
용량클러스터 전체 크기증설 시점

파드가 Pending 에서 안 넘어갈 때는 사용량이 아니라 할당됨을 봅니다. 실제 사용량이 20% 라도 할당됨이 100% 면 더 이상 배치할 수 없습니다. Kubernetes 는 요청량 기준으로 배치하기 때문입니다.

반대로 사용량이 90% 인데 할당됨이 40% 라면, 파드들이 요청한 것보다 훨씬 많이 쓰고 있다는 뜻입니다. 요청량을 실제에 맞게 올리는 편이 안정적입니다.

이벤트 목록​

타일 아래에는 클러스터에서 최근에 일어난 일이 표시됩니다.

열설명
유형이벤트가 발생한 자원 종류
이름자원 이름. 누르면 상세 화면으로 갑니다
네임스페이스자원이 속한 네임스페이스
이유이벤트가 생긴 까닭
메시지자세한 내용
마지막 확인가장 최근에 발생한 시각

경고만 보기 를 켜면 문제가 있는 이벤트만 남습니다. 평소에는 켜 두는 편이 좋습니다. 정상 동작 이벤트가 대부분이라 켜지 않으면 문제를 찾기 어렵습니다.

같은 이벤트가 반복되면 한 줄로 묶여 표시되고 마지막 확인 시각만 갱신됩니다. 시각이 계속 바뀌면 문제가 지금도 진행 중이라는 뜻입니다.

이벤트는 기본으로 한 시간쯤 지나면 사라집니다. 오래된 장애를 조사하려면 이벤트가 아니라 모니터링 화면을 보십시오(9.2 장).

네임스페이스​

클러스터 > 네임스페이스 에서 목록을 봅니다.

네임스페이스 목록

네임스페이스는 자원을 나누는 단위입니다. 팀별·환경별로 나눠 쓰면 이름 충돌을 막고 접근 권한과 자원 상한을 따로 줄 수 있습니다.

열설명
이름네임스페이스 이름
상태Active 는 사용 중, Terminating 은 삭제 진행 중
경과 시간만든 뒤 지난 시간

이름을 누르면 그 네임스페이스에 있는 자원, 적용된 자원 상한(8.1 장), 접근 권한을 함께 봅니다.

Terminating 에서 오래 머무르면 그 안에 지워지지 않는 자원이 남아 있는 것입니다. 대개 외부 시스템과 연결된 자원이 원인이며 운영 담당자의 확인이 필요합니다.

노드​

클러스터 > 노드 에서 클러스터를 이루는 서버 목록을 봅니다.

노드 목록
열설명
이름노드 이름
상태파드를 배치할 수 있는 상태인지
역할control-plane(관리) 또는 worker(작업)
CPU · 메모리현재 사용량
버전노드에 설치된 Kubernetes 버전

노드 상세​

노드 이름을 누르면 상세 화면이 열립니다.

노드 상세
구역무엇을 알 수 있는가
조건(Conditions)노드가 정상인지 판단하는 항목들
용량·할당 가능노드가 가진 자원과 파드에 줄 수 있는 자원
시스템 정보운영체제, 커널, 컨테이너 런타임 버전
레이블노드에 붙은 이름표. 파드 배치 조건에 쓰입니다
테인트(Taint)특정 파드만 받아들이도록 하는 표시
배치된 파드이 노드에서 도는 파드 목록

조건 은 다음을 봅니다.

조건정상값이상하면
ReadyTrue파드를 받을 수 없습니다
MemoryPressureFalse메모리가 모자랍니다
DiskPressureFalse디스크가 모자랍니다
PIDPressureFalse프로세스 수가 한계입니다

용량과 할당 가능은 다릅니다. 용량은 서버가 가진 전부이고, 할당 가능은 시스템이 쓸 몫을 뺀 나머지입니다. 파드는 할당 가능 범위 안에서만 배치됩니다.

테인트가 있는 노드에는 아무 파드나 배치되지 않습니다. 파드가 Pending 인데 노드에 자원이 남아 있다면 테인트를 확인하십시오. 관리 노드(control-plane)에는 기본으로 테인트가 걸려 있어 일반 애플리케이션이 배치되지 않습니다.

스케줄링 비활성화(Cordon) 표시​

노드 이름 옆에 스케줄링 비활성화 배지가 붙어 있으면, 그 노드에는 새 파드가 배치되지 않습니다. 점검을 앞두고 미리 막아 둔 상태입니다.

이미 떠 있는 파드는 계속 동작합니다. 배치만 막힐 뿐입니다.

Console 은 "배출(drain) 완료" 를 표시하지 않습니다. Kubernetes 에는 그 상태를 뜻하는 값이 없어서, 배출이 끝난 노드와 단순히 배치만 막아 둔 노드를 구분할 방법이 없기 때문입니다. 파드가 실제로 비었는지는 노드 상세의 배치된 파드 목록에서 확인하십시오.

Immutable OS 노드​

1.0.4 부터 노드 운영체제를 Immutable OS(불변 운영체제) 로 설치할 수 있습니다. 운영체제를 컨테이너 이미지처럼 한 덩어리로 만들어 배포하는 방식(이미지 모드)이며, 배포된 뒤에는 그 운영체제를 고칠 수 없습니다.

무엇이 좋아지는가​

좋아지는 점왜 그런가
노드가 서로 같아진다운영체제가 바뀌지 않으니 노드마다 상태가 갈라질 수 없습니다. "이 노드에서만 되는" 문제가 줄고, 파드가 어느 노드에 뜨든 같은 환경입니다
되돌리기가 한 번에 끝난다운영체제가 한 덩어리라 통째로 이전 것으로 돌립니다. 패키지를 하나씩 되돌릴 필요가 없습니다
시간이 지나도 벌어지지 않는다손댈 수 없으니 누적될 변경이 없습니다. 패키지로 설치한 노드는 몇 달 뒤 서로 상태가 달라집니다

대신 달라지는 것 두 가지​

일하는 방식이 바뀌는 부분이라 먼저 알아 두어야 합니다. 둘 다 "바뀌지 않는다" 의 다른 얼굴입니다.

  • 노드에 추가 패키지를 설치할 수 없습니다. dnf install 이 통하지 않고 시스템 파일도 고칠 수 없습니다. 콘솔의 웹 터미널로 노드에 들어가도 마찬가지입니다. 정책으로 막은 것이 아니라 파일 시스템이 읽기 전용이라 물리적으로 되지 않습니다 — root 로도 쓸 수 없습니다.
  • 노드에 직접 설치하던 것은 모두 컨테이너로 띄웁니다. 에이전트·모니터링 도구·유틸리티처럼 예전에 노드에 얹던 것을 DaemonSet 이나 파드로 배포합니다. 이것이 노드가 같아지는 방식이기도 합니다 — 노드에 손을 대지 않으니 노드마다 상태가 갈라지지 않습니다.

화면에서 보이는 것​

  • 노드 상세의 시스템 정보 — 운영체제 칸에 패키지로 설치한 노드와 다른 값이 나옵니다.
  • 갱신에는 재부팅이 따릅니다. 그동안 노드가 NotReady 로 보이고 파드가 다른 노드로 옮겨 갑니다. 계획된 갱신 중이라면 정상입니다.

갱신·되돌리기 절차는 운영자가 수행합니다. 방법은 설치 가이드의 노드 운영체제 관리 장을 참고하십시오.

Immutable OS 가 보안에 주는 것​

보안 요구사항을 맞추는 데 직접 쓰이는 내용이라 따로 적습니다.

보안 이점왜 Immutable OS 라서 되는가
SELinux 가 Enforcing이미지가 그 상태로 굳어 있어 운영 중에 꺼질 일이 없습니다. 패키지로 설치한 노드는 disabled 입니다
보안 설정이 되돌려도 남는다설정을 /etc 가 아니라 이미지 안에 둡니다. /etc 는 되돌리면 그 시점 값으로 함께 돌아가지만, 이미지 안의 설정은 남습니다
취약점 점검 항목이 이미 적용돼 있다root 접속 차단, 비밀번호 정책, 계정 잠금, su 제한, 유휴 세션 10분, 접속 출발지 제한, 접속 안내문이 이미지에 담겨 배포됩니다. 운영자가 따로 설정할 것이 없고 노드마다 빠뜨릴 일도 없습니다
비밀번호로 SSH 접속할 수 없다키로만 접속합니다. 같은 이유로 모든 노드에 동일하게 적용됩니다
공격 표면이 늘지 않는다노드에 임의 소프트웨어가 들어올 수 없습니다. 설치된 것은 이미지에 있는 것뿐입니다

SELinux 는 설치 방식에 따라 갈립니다. 같은 제품이라도 Immutable OS 노드는 Enforcing, 패키지로 설치한 노드는 disabled 입니다. 이 차이는 Immutable OS 로 설치한 노드에만 적용됩니다.

노드에 문제가 있을 때​

노드가 NotReady 로 바뀌면 그 노드의 파드는 잠시 뒤 다른 노드로 옮겨집니다.

확인 순서볼 곳
1노드 상세의 조건 — 무엇이 False 인지
2노드 상세의 이벤트
3다른 노드에 옮겨 갈 자리가 있는지 (개요 화면의 할당됨)

노드 자체를 고치는 일은 서버 접속이 필요하므로 운영 담당자가 수행합니다. 노드 이름과 조건 상태를 전달하십시오.