PaaS-TA-5.5.0
Search…
단독 배포용 Release 설치 가이드

Table of Contents

1. 문서 개요

1.1. 목적

본 문서(컨테이너 서비스 설치 가이드)는 단독배포된 Kubernetes를 사용하기 위해 Bosh 기반 릴리즈 설치 방법을 기술하였다.
PaaS-TA 3.5 버전부터는 Bosh 2.0 기반으로 배포(deploy)를 진행한다.

1.2. 범위

설치 범위는 Kubernetes 단독 배포를 기준으로 작성하였다.

1.3. 시스템 구성도

시스템 구성은 Kubernetes Cluster(Master, Worker)와 BOSH Inception(DBMS, HAProxy, Private Registry)환경으로 구성되어 있다. Kubespary를 통해 Kubernetes Cluster를 설치하고 BOSH 릴리즈로 Database, Private registry 등 미들웨어 환경을 제공하여 Docker Image로 Kubernetes Cluster에 컨테이너 플랫폼 포털 환경을 배포한다. 총 필요한 VM 환경으로는 Master VM: 1개, Worker VM: 1개 이상, BOSH Inception VM: 1개가 필요하고 본 문서는 BOSH Inception 환경을 구성하기 위한 VM 설치와 Kubernetes Cluster에 컨테이너 플랫폼을 배포하는 내용이다.

1.4. 참고 자료

2. 컨테이너 플랫폼 설치

2.1. Prerequisite

본 설치 가이드는 Ubuntu환경에서 설치하는 것을 기준으로 작성하였다. 단독 배포를 위해서는 Inception 환경이 구축 되어야 하므로 BOSH 2.0 설치와 PaaS-TA 5.5 가이드의 Stemcell 업로드, Cloud Config 설정, Runtime Config 설정이 사전에 진행이 되어야 한다.

2.2. Stemcell 확인

Stemcell 목록을 확인하여 서비스 설치에 필요한 Stemcell 이 업로드 되어 있는 것을 확인한다. (PaaS-TA 5.5 와 동일 Stemcell 사용)
$ bosh -e micro-bosh stemcells
1
Using environment '10.0.1.6' as client 'admin'
2
3
Name Version OS CPI CID
4
bosh-aws-xen-hvm-ubuntu-xenial-go_agent 621.94 ubuntu-xenial - ami-0694eb07c57faca73
5
6
(*) Currently deployed
7
8
1 stemcells
9
10
Succeeded
Copied!

2.3. Deployment 다운로드

서비스 설치에 필요한 Deployment를 Git Repository에서 받아 서비스 설치 작업 경로로 위치시킨다.
1
# Deployment 다운로드 파일 위치 경로 생성 및 이동
2
$ mkdir -p ~/workspace/paasta-5.5.0/deployment/
3
$ cd ~/workspace/paasta-5.5.0/deployment/
4
5
# Deployment 다운로드
6
$ git clone https://github.com/PaaS-TA/paas-ta-container-platform-deployment.git
Copied!

2.4. Deployment 파일 수정

BOSH Deployment manifest는 Components 요소 및 배포의 속성을 정의한 YAML 파일이다. Deployment 파일에서 사용하는 network, vm_type, disk_type 등은 Cloud config를 활용하고, 활용 방법은 BOSH 2.0 가이드를 참고한다.
  • Cloud config 설정 내용을 확인한다.
$ bosh -e micro-bosh cloud-config
1
Using environment '10.0.1.6' as client 'admin'
2
3
azs:
4
- cloud_properties:
5
availability_zone: ap-northeast-2a
6
name: z1
7
- cloud_properties:
8
availability_zone: ap-northeast-2a
9
name: z2
10
11
... ((생략)) ...
12
13
disk_types:
14
- disk_size: 1024
15
name: default
16
- disk_size: 1024
17
name: 1GB
18
19
... ((생략)) ...
20
21
networks:
22
- name: default
23
subnets:
24
- az: z1
25
cloud_properties:
26
security_groups: paasta-security-group
27
subnet: subnet-00000000000000000
28
dns:
29
- 8.8.8.8
30
gateway: 10.0.1.1
31
range: 10.0.1.0/24
32
reserved:
33
- 10.0.1.2 - 10.0.1.9
34
static:
35
- 10.0.1.10 - 10.0.1.120
36
37
... ((생략)) ...
38
39
vm_types:
40
- cloud_properties:
41
ephemeral_disk:
42
size: 3000
43
type: gp2
44
instance_type: t2.small
45
name: minimal
46
- cloud_properties:
47
ephemeral_disk:
48
size: 10000
49
type: gp2
50
instance_type: t2.small
51
name: small
52
53
... ((생략)) ...
54
55
Succeeded
Copied!
일부 application의 경우 이중화를 위한 조치는 되어 있지 않으며 인스턴스 수 조정 시 신규로 생성되는 인스턴스에는 데이터의 반영이 안될 수 있으니, 1개의 인스턴스로 유지한다.
  • Deployment YAML에서 사용하는 변수 파일을 서버 환경에 맞게 수정한다.
    $ vi ~/workspace/paasta-5.5.0/deployment/paas-ta-container-platform-deployment/bosh/manifests/paasta-container-service-vars-{IAAS}.yml (e.g. {IAAS} :: aws)
IPS - k8s_api_server_ip : Kubernetes Master Node IP IPS - k8s_auth_bearer : Kubespray 설치 가이드 - 4.1. Cluster Role 운영자 생성 및 Token 획득
1
# INCEPTION OS USER NAME
2
inception_os_user_name: "ubuntu"
3
4
# REQUIRED FILE PATH VARIABLE
5
paasta_version: "5.5"
6
7
# RELEASE
8
container_platform_release_name: "paasta-container-platform"
9
container_platform_release_version: "1.0"
10
11
# IAAS
12
kubernetes_cluster_tag: 'kubernetes' # Do not update!
13
14
# STEMCELL
15
stemcell_os: "ubuntu-xenial" # stemcell os
16
stemcell_version: "621.94" # stemcell version
17
stemcell_alias: "xenial" # stemcell alias
18
19
# CREDHUB
20
credhub_server_url: "10.0.1.6:8844"
21
credhub_admin_client_secret: "eft2zkfaerzyt8g6eonj"
22
23
# VM_TYPE
24
vm_type_small: "small" # vm type small
25
vm_type_small_highmem_16GB: "small-highmem-16GB" # vm type small highmem
26
vm_type_small_highmem_16GB_100GB: "small-highmem-16GB" # vm type small highmem_100GB
27
vm_type_container_small: "small" # vm type small for caas's etc
28
vm_type_container_small_api: "small" # vm type small for caas's api
29
30
# NETWORK
31
service_private_nat_networks_name: "default" # private network name
32
service_private_networks_name: "default"
33
service_public_networks_name: "vip" # public network name
34
35
# IPS
36
haproxy_public_url: "<HAPROXY_IP>" # haproxy's public IP
37
k8s_api_server_ip: "<KUBERNETES_API_SERVER_IP>" # kubernetes master node IP
38
k8s_api_server_port: "6443"
39
k8s_auth_bearer: "<KUBERNETES_AUTH_KEY>" # kubernetes bearer token
40
41
# HAPROXY
42
haproxy_http_port: 8080 # haproxy port
43
haproxy_azs: [z7] # haproxy azs
44
45
# MARIADB
46
mariadb_port: "13306" # mariadb port (e.g. 13306)-- Do Not Use "3306"
47
mariadb_azs: [z5] # mariadb azs
48
mariadb_persistent_disk_type: "10GB" # mariadb persistent disk type
49
mariadb_admin_user_id: "cp-admin" # mariadb admin user name (e.g. cp-admin)
50
mariadb_admin_user_password: "[email protected]" # mariadb admin user password (e.g. [email protected])
51
mariadb_role_set_administrator_code_name: "Administrator" # administrator role's code name (e.g. Administrator)
52
mariadb_role_set_administrator_code: "RS0001" # administrator role's code (e.g. RS0001)
53
mariadb_role_set_regular_user_code_name: "Regular User" # regular user role's code name (e.g. Regular User)
54
mariadb_role_set_regular_user_code: "RS0002" # regular user role's code (e.g. RS0002)
55
mariadb_role_set_init_user_code_name: "Init User" # init user role's code name (e.g. Init User)
56
mariadb_role_set_init_user_code: "RS0003" # init user role's code (e.g. RS0003)
57
58
# PRIVATE IMAGE REPOSITORY
59
private_image_repository_azs: [z7] # private image repository azs
60
private_image_repository_port: 5001 # private image repository port (e.g. 5001)-- Do Not Use "5000"
61
private_image_repository_root_directory: "/var/vcap/data/private-image-repository" # private image repository root directory
62
private_image_repository_persistent_disk_type: "10GB" # private image repository's persistent disk type
Copied!
  • 서버 환경에 맞추어 Deploy 스크립트 파일의 VARIABLES 설정을 수정한다.
    $ vi ~/workspace/paasta-5.5.0/deployment/paas-ta-container-platform-deployment/bosh/deploy-{IAAS}.sh
1
#!/bin/bash
2
3
# SET VARIABLES
4
export CONTAINER_DEPLOYMENT_NAME='paasta-container-platform' # deployment name
5
export CONTAINER_BOSH2_NAME="<BOSH_NAME>" # bosh name (e.g. micro-bosh)
6
export CONTAINER_BOSH2_UUID=`bosh int <(bosh -e ${CONTAINER_BOSH2_NAME} environment --json) --path=/Tables/0/Rows/0/uuid`
7
8
# DEPLOY
9
bosh -e ${CONTAINER_BOSH2_NAME} -n -d ${CONTAINER_DEPLOYMENT_NAME} deploy --no-redact manifests/paasta-container-service-deployment-{IAAS}.yml \
10
-l manifests/paasta-container-service-vars-{IAAS}.yml \
11
-o manifests/ops-files/paasta-container-service/network-{IAAS}.yml \
12
-o manifests/ops-files/misc/first-time-deploy.yml \
13
-v deployment_name=${CONTAINER_DEPLOYMENT_NAME} \
14
-v director_name=${CONTAINER_BOSH2_NAME} \
15
-v director_uuid=${CONTAINER_BOSH2_UUID}
Copied!

2.5. 릴리즈 설치

  • 릴리즈 설치에 필요한 릴리즈 파일을 다운로드 받아 Local machine의 릴리즈 설치 작업 경로로 위치시킨다.
1
# 릴리즈 다운로드 파일 위치 경로 생성
2
$ mkdir -p ~/workspace/paasta-5.5.0/release/service
3
$ cd ~/workspace/paasta-5.5.0/release/service
4
5
# 릴리즈 파일 다운로드 및 파일 경로 확인
6
$ wget --content-disposition https://nextcloud.paas-ta.org/index.php/s/zYjJg9yffxwSbFT/download
7
$ ls ~/workspace/paasta-5.5.0/release/service
8
paasta-container-platform-1.0.tgz
Copied!
  • 릴리즈를 설치한다.
1
$ cd ~/workspace/paasta-5.5.0/deployment/paas-ta-container-platform-deployment/bosh
2
$ chmod +x *.sh
3
$ ./deploy-{IAAS}.sh
Copied!

2.6. 릴리즈 설치 확인

설치 완료된 릴리즈를 확인한다.
$ bosh -e micro-bosh -d paasta-container-platform vms
1
Using environment '10.0.1.6' as client 'admin'
2
3
Task 2983. Done
4
5
Deployment 'paasta-container-platform'
6
7
Instance Process State AZ IPs VM CID VM Type Active
8
haproxy/32d1ff4e-1007-4e9a-8ebd-ffb33ba37348 running z7 10.0.0.121 i-0e6c374f2377ecf12 small true
9
3.35.95.75
10
mariadb/42657509-69b6-4b4e-a006-20690e5ce2ea running z5 10.0.161.121 i-0a8c71fb43ba3f34a small true
11
private-image-repository/2803b9a6-d797-4afb-9a34-65ce15853a9e running z7 10.0.0.122 i-0d5e4c451075e446b small true
12
13
3 vms
14
Succeeded
Copied!

2.7. CVE/CCE 진단항목 적용

배포된 Kubernetes Cluster, BOSH Inception 환경에 아래 가이드를 참고하여 해당 CVE/CCE 진단항목을 필수적으로 적용시켜야 한다.

3. 컨테이너 플랫폼 배포

3.컨테이너 플랫폼 배포 항목부터는 Master Node에서 진행을 하면 된다. kubernetes에서 PaaS-TA용 컨테이너 플랫폼을 사용하기 위해서는 Bosh 릴리즈 배포 후 Repository에 등록된 이미지를 Kubernetes에 배포하여 사용하여야 한다.

3.1. kubernetes Cluster 설정

단독배포용 Kubernetes Master Node, Worker Node에서 daemon.json 에 insecure-registries 로 Private Image Repository URL 설정 후 Docker를 재시작한다.
1
# Master Node, Worker Node 모두 설정 필요
2
$ sudo vi /etc/docker/daemon.json
3
{
4
"insecure-registries": ["{HAProxy_IP}:5001"]
5
}
6
7
# docker 재시작
8
$ sudo systemctl restart docker
Copied!

3.2. 컨테이너 플랫폼 이미지 업로드

Private Repository에 이미지 등록을 위해 컨테이너 플랫폼 이미지 파일을 다운로드 받아 아래 경로로 위치시킨다. 해당 내용은 Kubernetes Master Node에서 실행한다.
1
# 이미지 다운로드 파일 위치 경로 생성
2
$ mkdir -p ~/workspace/paasta-5.5.0/container-platform
3
$ cd ~/workspace/paasta-5.5.0/container-platform
4
5
# 이미지 파일 다운로드 및 파일 경로 확인
6
$ wget --content-disposition https://nextcloud.paas-ta.org/index.php/s/QZXmkJz582QxsMd/download
7
8
$ ls ~/workspace/paasta-5.5.0/container-platform
9
cp-standalone-images.tar
10
11
# 이미지 다운로드 파일 압축 해제
12
$ tar -xvf cp-standalone-images.tar
13
$ cd ~/workspace/paasta-5.5.0/container-platform/container-platform-image
14
$ ls ~/workspace/paasta-5.5.0/container-platform/container-platform-image
15
container-platform-api.tar.gz container-platform-webadmin.tar.gz image-upload-standalone.sh
16
container-platform-common-api.tar.gz container-platform-webuser.tar.gz
Copied!
  • Private Repository에 이미지를 업로드한다.
    1
    $ chmod +x *.sh
    2
    $ ./image-upload-standalone.sh {HAProxy_IP}:5001
    Copied!
  • Private Repository에 업로드 된 이미지 목록을 확인한다.
    1
    $ curl -H 'Authorization:Basic YWRtaW46YWRtaW4=' http://{HAProxy_IP}:5001/v2/_catalog
    2
    3
    {"repositories":["container-platform-api","container-platform-common-api","container-platform-webadmin","container-platform-webuser"]}
    Copied!

3.3. Secret 생성

Private Repository에 등록된 이미지를 활용하기 위해 Kubernetes에 secret을 생성한다.
1
$ kubectl create secret docker-registry cp-secret --docker-server={HAProxy_IP}:5001 --docker-username=admin --docker-password=admin --namespace=default
Copied!

3.4. Temp Namespace 생성

컨테이너 플랫폼 배포 전 최초 Temp Namespace 생성이 필요하다. 해당 Temp Namespace는 컨테이너 플랫폼 내 사용자 계정 관리를 위해 이용된다.
  • Temp Namespace를 생성한다.
1
$ kubectl create namespace paas-ta-container-platform-temp-namespace
Copied!

3.5. Deployment 배포

아래 4개의 yaml 내 nodeSelector.kubernetes.io/hostname 값은 동일한 Worker Node의 Host Name으로 설정한다.
1
# {NODE_HOST_NAME} 값 동일한 Worker Node의 Host Name으로 설정
2
nodeSelector:
3
kubernetes.io/hostname: {NODE_HOST_NAME}
Copied!
  • 컨테이너 플랫폼 yaml 파일
1
# 컨테이너 플랫폼 yaml 파일 경로이동
2
$ cd ~/workspace/paasta-5.5.0/container-platform/container-platform-standalone-yaml
3
$ ls ~/workspace/paasta-5.5.0/container-platform/container-platform-standalone-yaml
4
paas-ta-container-platform-api.yml paas-ta-container-platform-webadmin.yml
5
paas-ta-container-platform-common-api.yml paas-ta-container-platform-webuser.yml
Copied!

3.5.1. paas-ta-container-platform-common-api 배포

vi paas-ta-container-platform-common-api.yml
1
apiVersion: apps/v1
2
kind: Deployment
3
metadata:
4
name: common-api-deployment
5
labels:
6
app: common-api
7
namespace: default
8
spec:
9
replicas: 1
10
selector:
11
matchLabels:
12
app: common-api
13
template:
14
metadata:
15
labels:
16
app: common-api
17
spec:
18
containers:
19
- name: common-api
20
image: {HAProxy_IP}:5001/container-platform-common-api:latest
21
imagePullPolicy: Always
22
ports:
23
- containerPort: 3334
24
env:
25
- name: HAPROXY_IP
26
value: "{HAProxy_IP}"
27
- name: CONTAINER_PLATFORM_API_URL
28
value: "api-deployment.default.svc.cluster.local:3333"
29
- name: MARIADB_USER_ID
30
value: {MARIADB_USER_ID} # (e.g. cp-admin)
31
- name: MARIADB_USER_PASSWORD
32
value: {MARIADB_USER_PASSWORD}
33
imagePullSecrets:
34
- name: cp-secret
35
nodeSelector:
36
kubernetes.io/hostname: {NODE_HOST_NAME} # Worker Node Host Name
37
38
apiVersion: v1
39
kind: Service
40
metadata:
41
name: common-api-deployment
42
labels:
43
app: common-api
44
namespace: default
45
spec:
46
ports:
47
- nodePort: 30334
48
port: 3334
49
protocol: TCP
50
targetPort: 3334
51
selector:
52
app: common-api
53
type: NodePort
Copied!

3.5.2. paas-ta-container-platform-api 배포

vi paas-ta-container-platform-api.yml
1
apiVersion: apps/v1
2
kind: Deployment
3
metadata:
4
name: api-deployment
5
labels:
6
app: api
7
namespace: default
8
spec:
9
replicas: 1
10
selector:
11
matchLabels:
12
app: api
13
template:
14
metadata:
15
labels:
16
app: api
17
spec:
18
containers:
19
- name: api
20
image: {HAProxy_IP}:5001/container-platform-api:latest
21
imagePullPolicy: Always
22
ports:
23
- containerPort: 3333
24
env:
25
- name: K8S_IP
26
value: "{K8S_IP}" # Master Node IP
27
- name: CLUSTER_NAME
28
value: "{CLUSTER_NAME}"
29
- name: CONTAINER_PLATFORM_COMMON_API_URL
30
value: "common-api-deployment.default.svc.cluster.local:3334"
31
imagePullSecrets:
32
- name: cp-secret
33
nodeSelector:
34
kubernetes.io/hostname: {NODE_HOST_NAME} # Worker Node Host Name
35
36
apiVersion: v1
37
kind: Service
38
metadata:
39
name: api-deployment
40
labels:
41
app: api
42
namespace: default
43
spec:
44
ports:
45
- nodePort: 30333
46
port: 3333
47
protocol: TCP
48
targetPort: 3333
49
selector:
50
app: api
51
type: NodePort
Copied!

3.5.3. paas-ta-container-platform-webuser 배포

vi paas-ta-container-platform-webuser.yml
1
apiVersion: apps/v1
2
kind: Deployment
3
metadata:
4
name: webuser-deployment
5
labels:
6
app: webuser
7
namespace: default
8
spec:
9
replicas: 1
10
selector:
11
matchLabels:
12
app: webuser
13
template:
14
metadata:
15
labels:
16
app: webuser
17
spec:
18
containers:
19
- name: webuser
20
image: {HAProxy_IP}:5001/container-platform-webuser:latest
21
imagePullPolicy: Always
22
ports:
23
- containerPort: 8091
24
env:
25
- name: K8S_IP
26
value: "{K8S_IP}" # Master Node IP
27
- name: CONTAINER_PLATFORM_COMMON_API_URL
28
value: "common-api-deployment.default.svc.cluster.local:3334"
29
- name: CONTAINER_PLATFORM_API_URL
30
value: "api-deployment.default.svc.cluster.local:3333"
31
imagePullSecrets:
32
- name: cp-secret
33
nodeSelector:
34
kubernetes.io/hostname: {NODE_HOST_NAME} # Worker Node Host Name
35
36
apiVersion: v1
37
kind: Service
38
metadata:
39
name: webuser-deployment
40
labels:
41
app: webuser
42
namespace: default
43
spec:
44
ports:
45
- nodePort: 32091
46
port: 8091
47
protocol: TCP
48
targetPort: 8091
49
selector:
50
app: webuser
51
type: NodePort
Copied!

3.5.4. paas-ta-container-platform-webadmin 배포

vi paas-ta-container-platform-webadmin.yml
1
apiVersion: apps/v1
2
kind: Deployment
3
metadata:
4
name: webadmin-deployment
5
labels:
6
app: webadmin
7
namespace: default
8
spec:
9
replicas: 1
10
selector:
11
matchLabels:
12
app: webadmin
13
template:
14
metadata:
15
labels:
16
app: webadmin
17
spec:
18
containers:
19
- name: webadmin
20
image: {HAProxy_IP}:5001/container-platform-webadmin:latest
21
imagePullPolicy: Always
22
ports:
23
- containerPort: 8080
24
imagePullSecrets:
25
- name: cp-secret
26
nodeSelector:
27
kubernetes.io/hostname: {NODE_HOST_NAME} # Worker Node Host Name
28
29
apiVersion: v1
30
kind: Service
31
metadata:
32
name: webadmin-deployment
33
labels:
34
app: webadmin
35
namespace: default
36
spec:
37
ports:
38
- nodePort: 32080
39
port: 8080
40
protocol: TCP
41
targetPort: 8080
42
selector:
43
app: webadmin
44
type: NodePort
Copied!
1
$ kubectl apply -f paas-ta-container-platform-common-api.yml
2
deployment.apps/common-api-deployment created
3
service/common-api-deployment created
4
5
$ kubectl apply -f paas-ta-container-platform-api.yml
6
deployment.apps/api-deployment created
7
service/api-deployment created
8
9
$ kubectl apply -f paas-ta-container-platform-webuser.yml
10
deployment.apps/webuser-deployment created
11
service/webuser-deployment created
12
13
$ kubectl apply -f paas-ta-container-platform-webadmin.yml
14
deployment.apps/webadmin-deployment created
15
service/webadmin-deployment created
Copied!

3.5.5. 배포 확인

배포된 Deployment, Pod, Service를 확인한다.
1
$ kubectl get deployments
2
NAME READY UP-TO-DATE AVAILABLE AGE
3
api-deployment 1/1 1 1 59s
4
common-api-deployment 1/1 1 1 77s
5
webadmin-deployment 1/1 1 1 29s
6
webuser-deployment 1/1 1 1 42s
7
8
$ kubectl get pods
9
NAME READY STATUS RESTARTS AGE
10
api-deployment-5fc8bcbdbf-qb6pr 1/1 Running 0 74s
11
common-api-deployment-68dd87f5ff-2plnn 1/1 Running 0 92s
12
webadmin-deployment-54cd8b8687-mgznp 1/1 Running 0 44s
13
webuser-deployment-7ddd64b5b9-c74mx 1/1 Running 0 57s
14
15
$ kubectl get svc
16
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
17
api-deployment NodePort xxx.xxx.xxx.xxx <none> 3333:30333/TCP 103s
18
common-api-deployment NodePort xxx.xxx.xxx.xxx <none> 3334:30334/TCP 2m1s
19
webadmin-deployment NodePort xxx.xxx.xxx.xxx <none> 8080:32080/TCP 73s
20
webuser-deployment NodePort xxx.xxx.xxx.xxx <none> 8091:32091/TCP 86s
Copied!

4. 컨테이너 플랫폼 운영자/사용자 포털 회원가입

컨테이너 플랫폼 최초 배포의 경우 운영자 포털 회원가입을 통해 Kubernetes Cluster 정보 등록이 선 진행되어야 한다. 따라서 운영자포털 회원가입 완료 후 사용자 포털 회원가입을 진행하도록 한다.
  • 컨테이너 플랫폼 운영자포털 접속 URI :: http://{Worker Node Public IP}:32080
    {Worker Node Public IP} : paas-ta-container-platform-api.yml에서 작성하여 배포한 {NODE_HOST_NAME}의 Public IP를 대입한다.
  • 컨테이너 플랫폼 사용자포털 접속 URI :: http://{Worker Node Public IP}:32091
    {Worker Node Public IP} : paas-ta-container-platform-api.yml에서 작성하여 배포한 {NODE_HOST_NAME}의 Public IP를 대입한다.

4.1. 컨테이너 플랫폼 운영자 포털 회원가입

운영자 포털을 접속하기 전 네임스페이스 'paas-ta-container-platform-temp-namespace' 가 정상적으로 생성되어 있는지 확인한다.
$ kubectl get namespace
1
NAME STATUS AGE
2
default Active 5d19h
3
kube-node-lease Active 5d19h
4
kube-public Active 5d19h
5
kube-system Active 5d19h
6
paas-ta-container-platform-temp-namespace Active 4d
Copied!
Kubernetes Cluster 정보, 생성할 Namespace 명, User 정보를 입력 후 [회원가입] 버튼을 클릭하여 컨테이너 플랫폼 운영자포털에 회원가입을 진행한다.
1
# ex) 이해를 돕기 위한 예시 정보
2
# {Kubernetes Cluster Name} : cp-cluster
3
# {Kubernetes Cluster API URL} : https://xxx.xxx.xxx.xxx:6443
4
# {Kubernetes Cluster Token} : qY3k2xaZpNbw3AJxxxxx......
Copied!

4.2. 컨테이너 플랫폼 운영자 포털 로그인

  • 사용자 ID와 비밀번호를 입력 후 [로그인] 버튼을 클릭하여 컨테이너 플랫폼 운영자 포털에 로그인 한다.

4.3. 컨테이너 플랫폼 사용자 포털 회원가입

  • 등록할 사용자 계정정보(사용자 ID, Password, E-mail)를 입력 후 [Register] 버튼을 클릭하여 컨테이너 플랫폼 사용자 포털에 회원가입한다. 사용자 포털은 회원가입 후 즉시 이용이 불가하며 Cluster 관리자 혹은 Namespace 관리자로부터 해당 사용자가 이용할 Namespace와 Role을 할당 받은 후 포털 이용이 가능하다.

4.4. 컨테이너 플랫폼 사용자 Namespace/Role 할당

1) Namespace 관리자 지정

  • Clusters 메뉴 > Namespaces 선택 > 할당 하고자하는 Namespace 명 선택 > 하단 [수정]버튼 클릭
  • 해당 Namespace의 관리자로 지정할 사용자 ID 선택 후 저장버튼 클릭
  • 해당 Namespace의 Resource Quotas, Limit Ranges 수정 가능
  • [참고] Namespace 생성시에도 Namespace 관리자를 지정할 수 있다.

2) Namespace 사용자 지정

운영자 포털

  • Managements 메뉴 > Users 선택 > User 탭 선택 > 사용자 ID 선택 > 하단 [수정]버튼 클릭
  • Namespaces/Roles 선택 > [수정]버튼 클릭
해당 사용자가 이용할 Namespace와 Role을 지정할 수 있다.

사용자 포털

Namespace 관리자는 해당 Namespace를 이용중인 사용자의 Role 변경 및 해당 Namespace를 미사용하는 사용자에게 접근 권한을 할당할 수 있다.

4.5. 컨테이너 플랫폼 사용자 포털 로그인

  • 사용자 ID와 비밀번호를 입력후 [로그인] 버튼을 클릭하여 컨테이너 플랫폼 사용자 포털에 로그인 한다.

4.6. 컨테이너 플랫폼 사용자/운영자 포털 사용 가이드

Last modified 7mo ago