Index > CP Install > 싱글 클러스터 서비스 형 컨테이너 플랫폼 포털 배포 가이드
-
Prerequisite
2.1. 주요 소프트웨어
2.2. 방화벽 정보 -
컨테이너 플랫폼 포털 배포
3.1. 컨테이너 플랫폼 포털 배포
3.1.1. 컨테이너 플랫폼 포털 Deployment 파일 다운로드
3.1.2. 컨테이너 플랫폼 포털 변수 정의
3.1.3. 컨테이너 플랫폼 포털 배포 스크립트 실행
3.1.4. (참고) 컨테이너 플랫폼 포털 리소스 삭제 -
컨테이너 플랫폼 포털 사용자 인증 서비스 구성
4.1. 컨테이너 플랫폼 포털 사용자 인증 구성 Deployment 다운로드
4.2. 컨테이너 플랫폼 포털 사용자 인증 구성 변수 정의
4.3. 컨테이너 플랫폼 포털 사용자 인증 구성 스크립트 실행
4.4. (참고) 컨테이너 플랫폼 포털 사용자 인증 구성 해제 -
컨테이너 플랫폼 포털 서비스 브로커
5.1. 컨테이너 플랫폼 포털 서비스 브로커 등록
5.2. 컨테이너 플랫폼 포털 서비스 조회 설정
5.3. 컨테이너 플랫폼 포털 사용 가이드
본 문서(싱글 클러스터 서비스 형 컨테이너 플랫폼 포털 배포 가이드)는 쿠버네티스 클러스터를 설치하고 서비스 형 컨테이너 플랫폼 포털 배포 방법을 기술하였다.
설치 범위는 쿠버네티스 클러스터 배포를 기준으로 작성하였다.
시스템 구성은 Kubernetes Cluster(Master, Worker) 환경과 데이터 관리를 위한 스토리지 서버로 구성되어 있다. Kubespray를 통해 설치된 Kubernetes Cluster 환경에 컨테이너 플랫폼 포털 이미지 및 Helm Chart를 관리하는 Harbor, 컨테이너 플랫폼 포털 사용자 인증을 관리하는 Keycloak, 인증 데이터를 관리하는 Vault, 메타 데이터를 관리하는 MariaDB(RDBMS) 등 미들웨어 환경을 컨테이너로 제공한다. 총 필요한 VM 환경으로는 Master VM: 1개, Worker VM: 3개 이상이 필요하고 본 문서는 Kubernetes Cluster에 컨테이너 플랫폼 포털 환경을 배포하는 내용이다.
https://kubernetes.io/ko/docs
https://goharbor.io/docs
https://www.keycloak.org/documentation
본 설치 가이드는 Ubuntu 22.04 환경에서 설치하는 것을 기준으로 작성하였다.
주요 소프트웨어 | 버전 |
---|---|
Spring Boot | 2.7.3 |
Gradle | 6.9.2 |
Java | 1.8 |
Vault | 1.14.0 |
Harbor | 2.6.0 |
MariaDB | 10.5.15 |
Keycloak | 19.0.0 |
IaaS Security Group의 열어줘야할 Port를 설정한다.
- Master Node
프로토콜 | 포트 | 비고 |
---|---|---|
TCP | 111 | NFS PortMapper |
TCP | 2049 | NFS |
TCP | 2379-2380 | etcd server client API |
TCP | 6443 | Kubernetes API Server |
TCP | 10250 | Kubelet API |
TCP | 10251 | kube-scheduler |
TCP | 10252 | kube-controller-manager |
TCP | 10255 | Read-Only Kubelet API |
UDP | 4789 | Calico networking VXLAN |
- Worker Node
프로토콜 | 포트 | 비고 |
---|---|---|
TCP | 111 | NFS PortMapper |
TCP | 2049 | NFS |
TCP | 10250 | Kubelet API |
TCP | 10255 | Read-Only Kubelet API |
TCP | 30000-32767 | NodePort Services |
UDP | 4789 | Calico networking VXLAN |
컨테이너 플랫폼 포털 배포를 위해 컨테이너 플랫폼 포털 Deployment 파일을 다운로드 받아 아래 경로로 위치시킨다.
💡 해당 내용은 Kubernetes Master Node에서 진행한다.
- 컨테이너 플랫폼 포털 Deployment 파일 다운로드 : cp-portal-deployment-v1.5.1.tar.gz
# Deployment 파일 다운로드 경로 생성
$ mkdir -p ~/workspace/container-platform
$ cd ~/workspace/container-platform
# Deployment 파일 다운로드 및 파일 경로 확인
$ wget --content-disposition https://nextcloud.k-paas.org/index.php/s/2Sy2jzoJRx4aToM/download
$ ls ~/workspace/container-platform
cp-portal-deployment-v1.5.1.tar.gz
# Deployment 파일 압축 해제
$ tar -xvf cp-portal-deployment-v1.5.1.tar.gz
- Deployment 파일 디렉토리 구성
cp-portal-deployment
├── script # 싱글 클러스터 컨테이너 플랫폼 포털 배포 관련 변수 및 스크립트 파일 위치
├── script_mc # 멀티 클러스터 컨테이너 플랫폼 포털 배포 관련 변수 및 스크립트 파일 위치
├── images # 컨테이너 플랫폼 포털 이미지 파일 위치
├── charts # 컨테이너 플랫폼 포털 Helm Charts 파일 위치
├── values_orig # 컨테이너 플랫폼 포털 Helm Charts values 파일 위치
├── vault_orig # 컨테이너 플랫폼 포털 인증 데이터 관리를 위한 Vault 배포 파일 위치
├── keycloak_orig # 컨테이너 플랫폼 포털 사용자 인증 관리를 위한 Keycloak 배포 파일 위치
└── istio_mc # 서비스 메시 관련 파일 위치
컨테이너 플랫폼 포털을 배포하기 전 변수 값 정의가 필요하다. 배포에 필요한 정보를 확인하여 변수를 설정한다.
💡 Keycloak 기본 배포 프로토콜은 HTTP이며 인증서를 통한 HTTPS를 설정하고자 하는 경우 아래 내용을 참조하여 선처리한다.
$ cd ~/workspace/container-platform/cp-portal-deployment/script
$ vi cp-portal-vars.sh
# KEYCLOAK (해당 주석 위치로 이동)
KEYCLOAK_URL="https://keycloak.${HOST_DOMAIN}" # keycloak url (if apply TLS, https:// )
...
KEYCLOAK_INGRESS_TLS_ENABLED="true" # keycloak ingress tls enabled (if apply TLS, true)
KEYCLOAK_TLS_CERT_PATH="/home/ubuntu/tls/tls.crt" (예시) # keycloak tls cert file path (if apply TLS, cert file path)
KEYCLOAK_TLS_KEY_PATH="/home/ubuntu/tls/tls.key" (예시) # keycloak tls key file path (if apply TLS, key file path)
- KEYCLOAK_URL
http ->https
로 변경 - KEYCLOAK_INGRESS_TLS_ENABLED
true
로 변경 - KEYCLOAK_TLS_CERT_PATH
TLS cert 파일 경로 추가 - KEYCLOAK_TLS_KEY_PATH
TLS key 파일 경로 추가
$ cd ~/workspace/container-platform/cp-portal-deployment/script
$ vi cp-portal-vars.sh
# COMMON VARIABLE (Please change the value of the variables below.)
K8S_MASTER_NODE_IP="{k8s master node public ip}" # Kubernetes Master Node Public IP
K8S_CLUSTER_API_SERVER="https://${K8S_MASTER_NODE_IP}:6443" # kubernetes API Server (e.g. https://${K8S_MASTER_NODE_IP}:6443)
K8S_STORAGECLASS="cp-storageclass" # Kubernetes StorageClass Name (e.g. cp-storageclass)
HOST_CLUSTER_IAAS_TYPE="1" # Kubernetes Cluster IaaS Type ([1] AWS, [2] OPENSTACK, [3] NAVER, [4] NHN, [5] KT)
HOST_DOMAIN="{host domain}" # Host Domain (e.g. xx.xxx.xxx.xx.nip.io)
PROVIDER_TYPE="{container platform portal provider type}" # Container Platform Portal Provider Type (Please enter 'standalone' or 'service')
# Example
K8S_MASTER_NODE_IP="103.xxx.xxx.xxx"
K8S_CLUSTER_API_SERVER="https://${K8S_MASTER_NODE_IP}:6443"
K8S_STORAGECLASS="cp-storageclass"
HOST_CLUSTER_IAAS_TYPE="2"
HOST_DOMAIN="105.xxx.xxx.xxx.nip.io"
PROVIDER_TYPE="service"
변수 | 설명 | 상세 내용 |
---|---|---|
K8S_MASTER_NODE_IP | Kubernetes Master Node Public IP 입력 |
Master Node에 접근하기 어려운 경우 Worker Node Public IP 입력 |
K8S_CLUSTER_API_SERVER | Kubernetes API Server URL 입력 | 컨테이너 플랫폼을 통해 배포된 클러스터는 기본으로 https://${K8S_MASTER_NODE_IP}:6443 이다. Master Node의 6443번 포트 수신 형식이 아닐 경우 값을 수정한다. 🔹 HA Control Plane 구성일 경우 https://{Load Balancer IP or Domain}:6443 입력 |
K8S_STORAGECLASS | StorageClass 명 입력 | 컨테이너 플랫폼을 통해 배포된 클러스터는 기본으로 cp-storageclass 이다. 다른 StorageClass 사용 시 해당 리소스 명을 입력한다. |
HOST_CLUSTER_IAAS_TYPE | Kubernetes Cluster IaaS 환경 입력 | [1] AWS [2] OPENSTACK [3] NAVER [4] NHN [5] KT 번호 입력 |
HOST_DOMAIN | Host Domain 값 입력 | {ingress-nginx-controller 서비스의 EXTERNAL-IP}.nip.io 입력아래 내용 확인 |
PROVIDER_TYPE | 컨테이너 플랫폼 포털 제공 타입 입력 | 본 가이드는 포털 서비스 배포 형 설치 가이드로 service 값 입력 필요 |
# Kubernetes API Server 조회
$ kubectl config view
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: DATA+OMITTED
server: https://63c4f2d9-xxxx.xxxx.com (입력)
# StorageClass 조회
$ kubectl get storageclass
NAME PROVISIONER
block-storage (입력) blk.csi...
Ingress NGINX Controller 서비스의 EXTERNAL-IP(외부에서 접속 가능 IP)
와 무료 wildcard DNS 서비스 nip.io 를 사용
컨테이너 플랫폼 포털은 Kubernetes 리소스 Ingress를 통해 각 서비스를 라우팅하며, 그에 필요한 아래 두 서비스를 클러스터 설치 시 포함한다.
MetalLB (베어메탈 클러스터 환경에서 로드 밸런서 기능 제공)
Ingress NGINX Controller (Kubernetes용 Ingress 컨트롤러)
MetalLB를 통해 할당된 Ingress NGINX Controller 서비스의 EXTERNAL-IP가 외부에서 접속불가인 경우
각 클라우드 서비스에서 해당 IP의 네트워크 인터페이스 생성, 플로팅 IP 연결, 클러스터 노드에 인터페이스 연결 추가 등 작업이 필요하다.
# 'ingress-nginx-controller' 서비스 EXTERNAL-IP 조회 (LoadBalancer 타입)
$ kubectl get svc -n ingress-nginx
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx-controller LoadBalancer 10.233.49.255 192.168.0.xxx (확인) 80:30465/TCP,443:32226/TCP 26h
# 외부에서 EXTERNAL-IP curl 통신, 연결 불가
$ curl http://192.168.0.xxx
curl: (28) Failed to connect to 192.168.0.xxx port 80
# 클라우드 서비스에서 인터페이스 생성, 플로팅 ip 연결, 클러스터 노드에 인터페이스 연결 추가
192.168.0.xxx -> 105.xxx.xxx.xxx (플로팅 ip)
# 연결된 플로팅 ip로 외부에서 curl 통신, 404 에러 반환 시 정상
$ curl http://105.xxx.xxx.xxx
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx</center>
</body>
</html>
# 연결된 플로팅 ip의 nip.io로 호스트 도메인 값 입력
HOST_DOMAIN="105.xxx.xxx.xxx.nip.io"
컨테이너 플랫폼 포털 배포를 위한 스크립트를 실행한다.
$ chmod +x deploy-cp-portal.sh
$ ./deploy-cp-portal.sh
컨테이너 플랫폼 포털 관련 리소스가 정상적으로 배포되었는지 확인한다.
리소스 Pod의 경우 Node에 바인딩 및 컨테이너 생성 후 Running 상태로 전환되기까지 몇 초가 소요된다.
- Vault Pod 조회
$ kubectl get pods -n vault
$ kubectl get pods -n vault
NAME READY STATUS RESTARTS AGE
cp-vault-0 1/1 Running 0 17m
cp-vault-agent-injector-5944578cff-sxzvc 1/1 Running 0 17m
- Harbor Pod 조회
$ kubectl get pods -n harbor
$ kubectl get pods -n harbor
NAME READY STATUS RESTARTS AGE
cp-harbor-chartmuseum-679675fbbc-8pfwk 1/1 Running 0 17m
cp-harbor-core-786dfcdf7c-2vwlk 1/1 Running 0 17m
cp-harbor-database-0 1/1 Running 0 17m
cp-harbor-jobservice-6c94c7b985-4vggq 1/1 Running 0 17m
cp-harbor-notary-server-6d98997757-gm4kw 1/1 Running 0 17m
cp-harbor-notary-signer-68d755b86b-l5m8j 1/1 Running 0 17m
cp-harbor-portal-8649c6cffc-jnhrp 1/1 Running 0 17m
cp-harbor-redis-0 1/1 Running 0 17m
cp-harbor-registry-8dbf74bd8-6lbkw 2/2 Running 0 17m
cp-harbor-trivy-0 1/1 Running 0 17m
- MariaDB Pod 조회
$ kubectl get pods -n mariadb
$ kubectl get pods -n mariadb
NAME READY STATUS RESTARTS AGE
cp-mariadb-0 1/1 Running 0 13m
- Keycloak Pod 조회
$ kubectl get pods -n keycloak
$ kubectl get pods -n keycloak
NAME READY STATUS RESTARTS AGE
cp-keycloak-66b7df96f9-2p8xm 1/1 Running 0 13m
cp-keycloak-66b7df96f9-qsks4 1/1 Running 0 13m
- 컨테이너 플랫폼 포털 Pod 조회
$ kubectl get pods -n cp-portal
$ kubectl get pods -n cp-portal
NAME READY STATUS RESTARTS AGE
cp-portal-api-deployment-77dbcf48dc-vmbnj 1/1 Running 0 13m
cp-portal-common-api-deployment-5974498dfd-9nwwh 1/1 Running 0 13m
cp-portal-metric-api-deployment-8bc77dbf5-svccj 1/1 Running 0 13m
cp-portal-service-broker-deployment-5c7464c5-nlgrh 1/1 Running 0 13m
cp-portal-terraman-deployment-7756c75b86-qmpbt 1/1 Running 0 13m
cp-portal-ui-deployment-867c6c95c6-49lhg 1/1 Running 0 13m
배포된 컨테이너 플랫폼 포털 리소스의 삭제를 원하는 경우 아래 스크립트를 실행한다.
📢 (주의) 컨테이너 플랫폼 포털이 운영되는 상태에서 해당 스크립트 실행 시, 운영에 필요한 리소스가 모두 삭제되므로 주의가 필요하다.
컨테이너 플랫폼을 통해 설치된 클러스터의 StorageClass 타입이
NFS
인 경우 reclaim 정책은Retain
이다.
Retain
정책은 Persistent Volume을 삭제하여도 스토리지 NFS 서버에 데이터가 여전히 존재하므로
수동으로 데이터 정리가 필요하다.
$ cd ~/workspace/container-platform/cp-portal-deployment/script
$ chmod +x uninstall-cp-portal.sh
$ ./uninstall-cp-portal.sh
Are you sure you want to delete the container platform portal? <y/n> y
컨테이너 플랫폼 포털 사용자 인증은 Keycloak 서비스를 통해 관리된다. K-PaaS의 애플리케이션 플랫폼 포털 사용자 계정(UAA 서비스)으로 컨테이너 플랫폼 포털 접속을 위해 UAA 서비스를 ID 제공자(Identity Provider)로, Keycloak 서비스를 서비스 제공자(Service Provider)로 구성하는 단계가 필요하다.
UAA 서비스와 Keycloak 서비스 인증 구성을 위한 Deployment 파일을 다운로드 받아 아래 경로로 위치시킨다.
💡 해당 작업은 애플리케이션 플랫폼이 설치된 BOSH Inception에서 진행한다.
- 컨테이너 플랫폼 포털 사용자 인증 구성 Deployment 다운로드 :
cp-saml-deployment-v1.5.0.tar.gz
# Deployment 파일 다운로드 경로 생성
$ mkdir -p ~/workspace/container-platform
$ cd ~/workspace/container-platform
# Deployment 파일 다운로드 및 파일 경로 확인
$ wget --content-disposition https://nextcloud.k-paas.org/index.php/s/eeDFTGo6CzpGRNq/download
$ ls ~/workspace/container-platform
cp-saml-deployment-v1.5.0.tar.gz
# Deployment 파일 압축 해제
$ tar -xvf cp-saml-deployment-v1.5.0.tar.gz
UAA 서비스와 Keycloak 서비스 인증 구성을 위한 변수 값 정의가 필요하다. 구성에 필요한 정보를 확인하여 변수를 설정한다.
$ cd ~/workspace/container-platform/cp-saml-deployment
$ vi cp-saml-vars.sh
# COMMON VARIABLE (Please change the value of the variables below.)
SYSTEM_DOMAIN="xx.xxx.xx.xxx.nip.io" # K-PaaS System Domain
UAA_CLIENT_ADMIN_ID="admin" # UAA Admin Client ID (e.g. admin)
UAA_CLIENT_ADMIN_SECRET="admin-secret" # UAA Admin Client Secret (e.g. admin-secret)
KEYCLOAK_URL="http://keycloak.{HOST_DOMAIN}" # keycloak url (if apply TLS, https:// )
-
SYSTEM_DOMAIN
애플리케이션 플랫폼 배포 시 지정했던 K-PaaS System Domain 명 입력 -
UAA_CLIENT_ADMIN_ID
UAAC Admin Client Admin ID 입력, 기본 값 :admin
-
UAA_CLIENT_ADMIN_SECRET
UAAC Admin Client에 접근하기 위한 Secret 입력, 기본 값 :admin-secret
-
KEYCLOAK_URL
컨테이너 플랫폼 포털 Keycloak URL 입력- [3.1.2. 컨테이너 플랫폼 포털 변수 정의] 에서 정의한
HOST_DOMAIN
값 입력 - Keycloak TLS 적용한 경우 http ->
https
로 변경
# Kubernetes Master Node에서 Keycloak URL 조회 $ kubectl get cm cp-portal-configmap -n cp-portal -o yaml | grep KEYCLOAK_URI KEYCLOAK_URI: http://keycloak.xxx.xxx.xxx.xxx.nip.io
- [3.1.2. 컨테이너 플랫폼 포털 변수 정의] 에서 정의한
UAA 서비스와 Keycloak 서비스 인증 구성을 위한 스크립트를 실행한다.
$ chmod +x create-service-provider.sh
$ ./create-service-provider.sh
구성이 정상적으로 처리되었는지 확인한다. (RESPONSE BODY 내 결과 확인)
- UAAC Service Providers 조회
$ uaac curl /saml/service-providers --insecure
$ uaac curl /saml/service-providers --insecure
GET https://uaa.xx.xxx.xxx.xx.nip.io/saml/service-providers
200 OK
RESPONSE HEADERS:
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Content-Type: application/json
....
RESPONSE BODY:
[
{
"config": "{\"metaDataLocation\": .... }",
"id": "c86dd09a-2d47-4005-943d-a4fc717efd0e",
"entityId": "http://keycloak.xxx.xxx.xxx.xxx.nip.io/auth/realms/cp-realm",
"name": "cp-saml-sp",
"version": 0,
"created": 1651815898042,
"lastModified": 1651815898042,
"active": true,
"identityZoneId": "uaa"
}
]
UAA 서비스와 Keycloak 서비스 인증 구성 해제를 원하는 경우 아래 스크립트를 실행한다.
📢 (주의) 컨테이너 플랫폼 포털이 운영되는 상태에서 해당 스크립트 실행 시, 사용자 인증 구성이 불가하므로 주의가 필요하다.
UAAC Service Providers 조회 후 RESPONSE BODY 결과 내 아래 조건을 가진 Service Provider ID를 조회한다.
entityId : http://keycloak.{HOST_DOMAIN}/auth/realms/cp-realm
name : cp-saml-sp
$ uaac curl /saml/service-providers --insecure
....
RESPONSE BODY:
[
{
"config": "{\"metaDataLocation\": .... }",
"id": "c86dd09a-2d47-4005-943d-a4fc717efd0e", # 해제할 Service Provider ID
"entityId": "http://keycloak.xxx.xxx.xxx.xxx.nip.io/auth/realms/cp-realm",
"name": "cp-saml-sp",
"version": 0,
"created": 1651815898042,
"lastModified": 1651815898042,
"active": true,
"identityZoneId": "uaa"
}
....
]
해제할 Service Provider ID 조회 후 인증 구성 해제 스크립트를 실행한다.
$ cd ~/workspace/container-platform/cp-saml-deployment
$ chmod +x uninstall-service-provider.sh
$ ./uninstall-service-provider.sh {Service_Provider_ID}
$ ./uninstall-service-provider.sh c86dd09a-2d47-4005-943d-a4fc717efd0e
....
Are you sure you want to delete this service provider? <y/n> y
DELETE https://uaa.xx.xxx.xxx.xx.nip.io/saml/service-providers/c86dd09a-2d47-4005-943d-a4fc717efd0e
200 OK
....
애플리케이션 플랫폼 K-PaaS 포털과 컨테이너 플랫폼 포털 서비스 연동을 위해서 브로커 등록이 필요하다.
K-PaaS 운영자 포털을 통해 서비스를 등록하고 공개하면, K-PaaS 사용자 포털에서 서비스를 신청하여 사용할 수 있다.
💡 해당 작업은 애플리케이션 플랫폼이 설치된 BOSH Inception에서 진행한다.
📍 컨테이너 플랫폼 포털 서비스 브로커 URL : http://portal.{HOST_DOMAIN}/cpbroker
- [3.1.2. 컨테이너 플랫폼 포털 변수 정의] 에서 정의한
HOST_DOMAIN
값 입력
$ cf service-brokers
$ cf service-brokers
Getting service brokers as admin...
No service brokers found
$ cf create-service-broker {서비스팩 이름} {서비스팩 사용자ID} {서비스팩 사용자비밀번호} http://{서비스팩 URL}
서비스팩 이름 : 서비스팩 명칭
서비스팩 사용자 ID/비밀번호 : 서비스팩에 접근할 수 있는 사용자 ID/비밀번호
서비스팩 URL : 서비스팩이 제공하는 API를 사용할 수 있는 URL
$ cf create-service-broker cp-portal-service-broker admin cloudfoundry http://portal.{HOST_DOMAIN}/cpbroker
$ cf create-service-broker cp-portal-service-broker admin cloudfoundry http://portal.{HOST_DOMAIN}/cpbroker
Creating service broker cp-portal-service-broker as admin...
OK
$ cf service-brokers
$ cf service-brokers
Getting service brokers as admin...
name url
cp-portal-service-broker http://portal.{HOST_DOMAIN}/cpbroker
$ cf enable-service-access cp-portal-service-broker
$ cf enable-service-access cp-portal-service-broker
Enabling access to all plans of service offering cp-portal-service-broker for all orgs as admin...
OK
$ cf service-access
$ cf service-access
Getting service access as admin...
broker: cp-portal-service-broker
offering plan access orgs
cp-portal-service-broker Advenced all
해당 설정은 애플리케이션 플랫폼 K-PaaS 포털에서 컨테이너 플랫폼 포털 서비스를 조회하고 신청할 수 있도록 하기 위한 설정이다.
'서비스' 항목 : 'cp-portal-service-broker' 로 선택
'공개' 항목 : 'Y' 로 체크
- 컨테이너 플랫폼 포털 사용방법은 아래 사용가이드를 참고한다.
컨테이너 플랫폼 이용 중 리소스 생성 시 다음과 같은 prefix를 사용하지 않도록 주의한다.
Resource 명 | 생성 시 제외해야 할 prefix |
---|---|
전체 Resource | kube* |
Namespace | all |
kubernetes-dashboard | |
cp-portal-temp-namespace | |
Role | cp-init-role |
cp-admin-role | |
ResourceQuota | cp-low-resourcequota |
cp-medium-resourcequota | |
cp-high-resourcequota | |
LimitRanges | cp-low-limitrange |
cp-medium-limitrange | |
cp-high-limitrange | |
Pod | nodes |
resources |