Cloud Z CP의 기반이 되는 Kubernetes는 동일한 물리적 클러스터에 의해 지원되는 여러 개의 가상 클러스터를 지원합니다. 이러한 가상 클러스터를 네임스페이스라고 합니다.
좀 더 상세한 내용은 Namespaces를 참고하세요.
네임스페이스 보기
기존에 생성되어 있는 네임스페이스는 카드형이나 목록형으로 볼 수 있습니다.
네임스페이스 별로 CPU Request, Memory Request, CPU Limit, Memory Limit 등의 Resource 사용률을 볼 수 있습니다.
네임스페이스의 현재 상태와 네임스페이스에 대한 좀 더 상세한 정보를 볼 수 있는 대시보드로 이동할 수 있습니다.
카드형으로 보기
네임스페이스들을 직관적으로 보기를 원한다면 카드형으로 볼 수 있습니다.
네임스페이스들을 카드형으로 보려면:
- 사이드 메뉴에서 네임스페이스 를 선택합니다.
- 버튼을 클릭합니다.
카드형에서는 네임스페이스 별로 다음의 정보를 볼 수 있습니다.
- Namespace 명: Namespace를 구분하기 위한 고유의 값입니다. 링크를 클릭하면 Namespace의 상세 정보를 변경할 수 있습니다.
- 생성일시: Namespace가 생성된 일시입니다.
- 사용자 수: Namespace에 권한이 있는 사용자 수입니다.
- 상태
- 녹색(Active): 네임스페이스가 사용 중입니다.
- 회색(Terminating): 네임스페이스가 삭제되고 있으며 새 Object에 사용할 수 없습니다.
- Resource 사용률
- (실제 사용하고 있는 값 / Resource Quotas 에 설정된 값) 으로 표시됩니다.
- 50% 이하인 경우에는 녹색, 50% 이상인 경우에는 파란색, 80% 이상인 경우에는 빨간색으로 표시됩니다.
- 다음 4가지 Resource가 표시됩니다.
- CPU Request: Resource Quotas 로 설정된 Namespace 의 비율 중 어쩌고 저쩌고
- CPU Limit:
- Memory Request:
- Memory Limit:
- Namespace 관리
- 대시보드 화면으로 이동: 해당 Namespace 의 좀 더 상세한 정보를 볼 수 있는 대시보드 화면으로 이동합니다.
- Namespace 삭제: Namespace 를 삭제합니다.
리스트형으로 보기
네임스페이스에 대한 좀 더 많은 정보를 한번에 보기를 원한다면 리스트형으로 볼 수 있습니다.
네임스페이스들을 리스트형으로 보려면:
- 사이드 메뉴에서 네임스페이스 를 선택합니다.
- 버튼을 클릭합니다.
리스트형에서는 다음의 정보를 볼 수 있습니다.
- Namespace 명: 링크를 클릭하면 상세 정보를 볼 수 있습니다.
- Resource 사용률
- (실제 사용하고 있는 값 / Resource Quotas 에 설정된 값) 으로 표시됩니다.
- 50% 이하인 경우에는 녹색, 50% 이상인 경우에는 파란색, 80% 이상인 경우에는 빨간색으로 표시됩니다.
- 다음 4가지 Resource가 표시됩니다.
- CPU Request: Resource Quotas 로 설정된 CPU Request 값을 기준으로 합니다.
- CPU Limit: Resource Quotas 로 설정된 CPU Limit 값을 기준으로 합니다.
- Memory Request: Resource Quotas 로 설정된 Memory Request 값을 기준으로 합니다.
- Memory Limit: Resource Quotas 로 설정된 Memory Limit 값을 기준으로 합니다.
- 사용자 수: Namespace 에 권한이 있는 사용자 수입니다.
- 상태 : Namespace 의 현재 상태입니다.
- Active: 네임스페이스가 사용 중입니다.
- Terminating: 네임스페이스가 삭제되고 있으며 새 Object에 사용할 수 없습니다.
- 생성일시: Namespace 가 생성된 일시입니다.
- 관리
- 삭제: Namespace 를 삭제합니다.
네임스페이스 멤버관리
네임스페이스의 멤버를 관리합니다.
멤버관리 화면으로 이동
- 사이드 메뉴에서 네임스페이스 를 선택합니다.
- Namespace 명에 연결되어 있는 링크를 클릭합니다.
- Namespace 관리 화면이 나타나면 멤버관리 탭을 클릭합니다.
멤버 생성
멤버관리 탭에서 직접 멤버생성을 할 수 있습니다.
- 멤버 목록 아래에 있는 멤버생성 버튼을 클릭합니다.
- 멤버 생성 팝업이 뜨면 사용자 정보를 입력하고 등록 버튼을 클릭합니다.
멤버 추가
- 멤버 추가 목록 위의 검색어에 추가하려는 멤버를 입력하고 을 클릭합니다.
- Namespace 권한을 변경하고 추가 열에 있는을 클릭합니다.
멤버 삭제
- 멤버 목록의 관리 열에서 삭제하려는 멤버의 을 클릭합니다.
- 팝업 화면이 뜨면 확인을 클릭합니다.
멤버 권한 변경
- 멤버 목록에서 Namespace 권한 열에 있는 선택박스에서 변경하려는 멤버의 권한을 선택합니다.
- 멤버 목록의 관리 열에서 권한을 변경하려는 멤버의 을 클릭합니다.
각 권한에 대한 설명은 다음과 같습니다:
권한명 | ClusterRole | ZCP에서는? |
---|---|---|
admin | namespace 내부의 모든 resource 에 대해 읽고 쓰기 가능 | 다음 메뉴에 접근이 가능합니다.
|
cicd-manager | namespace 내부의 role, rolebinding 을 제외한 대부분 resource 에 대해 읽고 쓰기 가능한 edit ClusterRole 을 복사 | 다음 메뉴에 접근이 가능합니다.
|
developer | namespace 내부의 role, rolebinding 을 제외한 대부분 resource 에 대해 읽기만 가능한 view ClusterRole 을 복사 | 다음 메뉴에 접근이 가능합니다.
|
좀 더 상세한 내용은 Using RBAC Authorization의 User-facing Roles 를 참고하세요.
멤버 검색
멤버를 사용자 ID, 이메일, 이름 등으로 검색할 수 있습니다.
- 멤버 목록 위에 있는 검색어 입력 필드에 검색어를 입력합니다. 검색어는 사용자 ID 또는 이메일 또는 이름을 입력하세요.
- 을 클릭하거나 Enter 키를 입력합니다.
네임스페이스 Secret 관리
Secret 은 비밀번호, OAuth 토큰 및 ssh 키와 같은 중요한 정보를 유지하기 위한 것입니다. 이 정보를 Secret 에 두는 것은 Pod 정의 또는 Docker Image에 그대로 넣는 것보다 안전하고 유연합니다.
Cloud Z CP 콘솔에서는 네임스페이스의 여러 어플리케이션에서 공통적으로 사용되는 아래 타입의 Secret을 관리 할 수 있습니다.
(각 어플리케이션을 위한 Secret은 해당 프로젝트에서 별도로 관리합니다.)
- Docker Registry : 특정 Docker Registry에서 이미지를 가져오기 위한 서버 및 인증 정보를 포함합니다.
- TLS : HTTPS 설정에 사용되는 인증서와 키 파일을 관리합니다.
좀 더 상세한 내용은 Secrets 를 참고하세요.
Secret 관리 화면으로 이동
- 사이드 메뉴에서 네임스페이스 를 선택합니다.
- Namespace 명에 연결되어 있는 링크를 클릭합니다.
- Namespace 관리 화면이 나타나면 Secret 탭을 클릭합니다.
Secret 추가
- Secert 목록의 오른쪽 위에 있는 (Secret추가) 버튼을 클릭합니다.
- Secret 추가 팝업이 뜨면 타입에 맞는 정보를 입력하고 등록 버튼을 클릭합니다.
필드설명
- Docker Registry
- docker-server(필수) : Docker Registry 서버정보. 예) registry.cloudzcp.io
- docker-username(필수) : Docker 로그인 사용자 아이디
- docker-password(필수) : Docker 로그인 사용자 비밀번호
- docker-email : Docker 로그인 사용자 이메일
- TLS
- certificate :
- key :
Secret 조회
- 네임스페이스의 Secret 탭을 클릭하면 등록된 Secret 목록을 확인합니다.
- Secret Name을 클릭하면 Secret의 상세 정보를 포함한 팝업이 표시됩니다.
- TLS 타입의 경우, 클릭하여 파일을 다운로드 할 수 있습니다.
Secret 삭제
- Secret 목록에서 삭제하려는 Secret의 관리 열에 있는 을 클릭합니다.
- 확인을 위해 삭제하려는 Secret Name을 입력하고, 삭제 버튼을 클릭합니다.
Secret 검색
등록된 Secret 목록을 Secret Name으로 검색할 수 있습니다.
- Secret 목록 오른쪽 위에 있는 검색어 입력 필드에 검색어를 입력합니다.
을 클릭하거나 Enter 키를 입력합니다.
참고사항
Secret 수정 기능은 제공하지 않습니다. 삭제 후 재생성 또는 Kubernetes 명령어를 통해 직접 수정이 가능합니다.
kubectl CLI 를 활용한 Secret 관리
Secret 을 콘솔이 아닌 kubectl CLI 를 활용하여 관리할 수 있습니다. Docker Registry 유형의 Secret 은 Pod에서 ImagePullSecrets 에서 사용합니다.
Docker Registry 유형의 Secret은 다음 명령어로 생성합니다. my-docker-secret 라는 이름으로 Secret을 생성하게 됩니다.
kubectl create secret docker-registry my-docker-secret --docker-server=DOCKER_REGISTRY_SERVER --docker-username=DOCKER_USER --docker-password=DOCKER_PASSWORD --docker-email=DOCKER_EMAIL
- DOCKER_REGISTRY_SERVER : Docker Registry 서버정보. 예) registry.cloudzcp.io
- DOCKER_USER : Docker 로그인 사용자 아이디
DOCKER_PASSWORD : Docker 로그인 사용자 비밀번호
- DOCKER_EMAIL : Docker 로그인 사용자 이메일
제대로 생성되어 있는지 yaml 형식으로 확인할 수 있습니다.
$ kubectl get secret my-docker-secret --output=yaml apiVersion: v1 data: .dockerconfigjson: eyJodHRwczovL2luZGV4L ... J0QUl6RTIifX0= kind: Secret metadata: ... name: my-docker-secret ... type: kubernetes.io/dockerconfigjson
위와 같이 data 하위에 .dockerconfigjson 필드를 확인할 수 있는데 Docker Credentials이 base64표시 되는 내용입니다.
입력한 내용이 맞는지 확인하기 위해서 다음 명령어를 실행합니다.
$ kubectl get secret my-docker-secret --output="jsonpath={.data.\.dockerconfigjson}" | base64 --decode {"auths":{"registry.cloudzcp.io":{"username":"billygoo","password":"xxxxxxxxxxx","email":"billy.goo@example.com","auth":"c3R...zE2"}}}
해당 결과에 auth 필드 값도 base64로 디코딩 하면 읽을 수 있습니다.
$ echo "c3R...zE2" | base64 --decode billygoo:xxxxxxxxxxx
좀 더 상세한 내용은 Specifying ImagePullSecrets on a Pod 을 참고하세요.