안녕하세요~! 오픈소스컨설팅 클라우드 엔지니어 최수빈입니다.

이번 블로그에서 다룰 내용은 오픈소스컨설팅의 쿠버네티스 자동화 기술인 Playce Kube 2.0 설치 과정입니다. OS 환경은 Ubuntu jammy 22.04 에서 설치를 진행하였습니다.
Rocky와 CentOS 환경에서의 설치 과정에 대한 포스팅 내용도 있으니 사용하시는 OS에 맞게 찾아보시면 도움이 되실 것 같아요~

자!! 그럼 먼저 설치를 진행하기에 앞서 PlayceKube 기술에 대해 말씀드리겠습니다.

Playce Kube란?

소개

구글 주도의 쿠버네티스 오픈소스를 기반으로, 애플리케이션을 손쉽게 배포하고 자동화된 운영관리를 제공하는 PaaS 솔루션입니다.

아키텍처

위와 같이 Playce Kube에 대한 전체적인 아키텍처를 보실 수 있습니다.
어떤 식으로 동작하게 될지 대략적으로 이해가 되실까요??

이해가 안되는 분들은 위해 간단히 설명드리자면~
Deploy 서버, Master 노드, Ingress로 동작할 Worker 노드로 구성이 됩니다.
그리고 Deploy 에서 패키지를 설치하고 클러스터를 배포, 관리할 수 있도록 합니다.
Deploy는 실제 사용할 서비스를 이용할 수 있도록 하는 서비스 컨테이너가 동작하고,
사용자가 이용할 실질적인 서비스worker에서 파드로 생성되어 동작합니다.


이제 본격적으로 설치를 진행하도록 하겠습니다!!

설치 과정

1. 서버의 기능에 맞게 리소스 할당

HostnameOSSpec
Deploy-VMubuntu-jammy-22.04CPU 8core,








RAM 16GB,
Disk 800GB
Master-VMubuntu-jammy-22.04CPU 8core,








RAM 16GB,
Disk 50GB
Worker-VM







(Ingress node 역할)
ubuntu-jammy-22.04CPU 8core,








RAM 16GB,
Disk 50GB

Deploy는 패키지를 설치하고 배포하기 위한 서버이므로 디스크 용량을 크게 할당해줘야 합니다.

2. 보안 그룹 설정

서버의 보안그룹을 각 역할과 기능에 맞게 설정해야 합니다.

Deploy 서버

프로토콜방향포트 범위용도
TCP인바운드8443대시보드 HTTPS (현재 rancher)
TCP인바운드9443Deploy Keycloak
TCP인바운드5000Docker Registry (HTTPS)
TCP인바운드80Repository HTTP (OS Repository, Kubernetes Repository, Helm Chart Repository, Jenkins Plugin Download)
TCP인바운드443Repository HTTP (OS Repository, Kubernetes Repository, Helm Chart Repository, Jenkins Plugin Download)
UDP인바운드123Network Time Protocol (chrony)
TCP/UDP인바운드53Domain Name System (bind9)
TCP인바운드2049Network File System
TCP인바운드22SSH


Master 노드의 보안그룹

프로토콜방향포트 범위용도
TCP인바운드6443쿠버네티스 API 서버
TCP인바운드2379-2380etcd 서버 클라이언트 API
TCP인바운드10250Kubelet API
TCP인바운드10259kube-scheduler
TCP인바운드10257kube-controller-manager
TCP인바운드30000-32767NodePort 서비스
TCP/UDP인바운드53Domain Name System (bind9)
TCP인바운드22SSH
TCP인바운드179Calico networking (BGP)

Worker(Ingress) 노드의 보안그룹

프로토콜방향포트 범위용도
TCP인바운드10250Kubelet API
TCP인바운드30000-32767NodePort 서비스
TCP/UDP인바운드53Domain Name System (bind9)
TCP인바운드179Calico networking (BGP)

+ worker 노드가 Ingress 노드로 동작하도록 설정되어 있어 추가로 포트를 설정해줍니다.

프로토콜
방향포트 범위용도
TCP인바운드80Ingress HTTP 포트
TCP인바운드443Ingress HTTPS 포트

3. 패키지 설치

Deploy 서버에서 진행하며, 다음은 Deploy 서버를 구성하는 과정입니다.


설치 파일 및 체크섬 확인
★ 체크섬 확인은 파일의 정합성 확인을 위함이며 상황에 따라 생략 가능합니다 ★

root@deploy:~# ls -l /playcecloud/srcdata
total 205321240
-rw-r--r-- 1 root root     21219328 Jan 15 16:18 PlayceCloud.Kube.v2.0.tar
-rw-r--r-- 1 root root           60 Jan 15 16:18 PlayceCloud.Kube.v2.0.tar.MD5SUMS
-rw-r--r-- 1 root root           92 Jan 15 16:18 PlayceCloud.Kube.v2.0.tar.SHA256SUMS
-rw------- 1 root root   2484516864 Jan 15 16:06 PlayceCloudData.DeployBase.v2.0.tar
-rw-r--r-- 1 root root           91 Jan 15 16:06 PlayceCloudData.DeployBase.v2.0.tar.MD5SUMS
-rw-r--r-- 1 root root          123 Jan 15 16:06 PlayceCloudData.DeployBase.v2.0.tar.SHA256SUMS
-rw-r--r-- 1 root root  21382474752 Jan 15 15:19 PlayceCloudData.K8SRegistry.v2.0.tar
-rw-r--r-- 1 root root           71 Jan 15 15:19 PlayceCloudData.K8SRegistry.v2.0.tar.MD5SUMS
-rw-r--r-- 1 root root          103 Jan 15 15:19 PlayceCloudData.K8SRegistry.v2.0.tar.SHA256SUMS
-rw-r--r-- 1 root root   2935609344 Jan 15 15:31 PlayceCloudData.K8SRepo.v2.0.tar
-rw-r--r-- 1 root root           67 Jan 15 15:31 PlayceCloudData.K8SRepo.v2.0.tar.MD5SUMS
-rw-r--r-- 1 root root           99 Jan 15 15:31 PlayceCloudData.K8SRepo.v2.0.tar.SHA256SUMS
-rw-r--r-- 1 root root 183425077248 Dec 28 15:18 PlayceCloudData.OSRepo.jammy.v2.0.tar
-rw-r--r-- 1 root root           72 Jan 15 15:09 PlayceCloudData.OSRepo.jammy.v2.0.tar.MD5SUMS
-rw-r--r-- 1 root root          104 Jan 15 15:09 PlayceCloudData.OSRepo.jammy.v2.0.tar.SHA256SUM

파일 체크섬이란?

md5sum 이나 sha1sum 과 같은 해시 알고리즘을 통해 체크섬(check sum) 값을 계산하여 파일의 무결성을 검증하는 방식입니다.

설치 파일 압축 해제 및 확인

# 패키지 파일 압축 해제
root@deploy:~# tar xpf /playcecloud/srcdata/PlayceCloud.Kube.v2.0.tar -C /playcecloud/


# 압축 해제 확인
root@deploy:~# ls -l /playcecloud/
total 20
drwxr-xr-x 7 root root 4096 Jan 17 11:47 conf
drwxr-xr-x 8 root root 4096 Nov 29 22:29 data
-rw-r--r-- 1 root root  403 Jan 17 14:27 playcecloud.conf
drwxr-xr-x 9 root root 4096 Jan 15 19:34 playcekube
drwxr-xr-x 3 root root 4096 Jan 17 14:25 srcdata

playcecloud.conf 파일 설정

DOMAINDNS 를 환경에 맞게 설정합니다.
DEPLOY IP 는 해당 서버에 맞게 자동 설정되도록 명령을 넣었지만 적용이 안될 경우 수동으로
설정해주어야 합니다!!

# 기존 example 파일을 playcecloud.conf라는 이름의 파일로 복사
root@deploy:~# cp /playcecloud/playcekube/playcecloud.conf.example /playcecloud/playcecloud.conf

# 복사햔 파일을 환경에 맞게 수정
root@deploy:~# cat /playcecloud/playcecloud.conf
# PlayceCloud config env
PLAYCE_DIR=/playcecloud
PLAYCE_CONFDIR=${PLAYCE_DIR}/conf
PLAYCE_DATADIR=${PLAYCE_DIR}/data
PLAYCE_DOMAIN=playce.cloud
PLAYCE_DEPLOY=$(ip -4 -o a | grep -Ev "\slo\s" | head -n 1 | awk '{ print $4 }' | sed 's/\(.*\)\/.*/\1/')
UPSTREAM_DNS=8.8.8.8
PLAYCEOPENSTACK_VERSION=v1.0
PLAYCEKUBE_VERSION=v2.0
RANCHER_SECRET=

Deploy 서버에 패키지 설치 및 확인

Deploy에서는 서비스들이 docker로 동작하고 있기 때문에 docker ps를 통해 동작을 확인합니다.
NTP는 따로 확인 필요! -> Chrony로 동작하고 있습니다.

# Playce Kube 설치 
root@deploy:~# /playcecloud/playcekube/bin/install_playcekube


# Playce Kube 서비스 동작 확인
root@deploy:~# docker ps
CONTAINER ID   IMAGE                                COMMAND                  CREATED         STATUS         PORTS                                                                            NAMES
7a7231bd9054   rancher/rancher:v2.6.6               "entrypoint.sh"          6 minutes ago   Up 5 minutes   0.0.0.0:8080->80/tcp, :::8080->80/tcp, 0.0.0.0:8443->443/tcp, :::8443->443/tcp   playcekube_rancher
d24f8a6bb123   quay.io/keycloak/keycloak:18.0.2     "/opt/keycloak/bin/k…"   7 minutes ago   Up 7 minutes   8080/tcp, 8443/tcp, 0.0.0.0:9443->9443/tcp, :::9443->9443/tcp                    playcecloud_keycloak
cb07f1941db3   itsthenetwork/nfs-server-alpine:12   "/usr/bin/nfsd.sh"       7 minutes ago   Up 7 minutes   0.0.0.0:2049->2049/tcp, :::2049->2049/tcp                                        playcecloud_nfs
6f71a93802d8   nginx:1.20.2                         "/docker-entrypoint.…"   7 minutes ago   Up 7 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp         playcecloud_repository
b3626957992e   ubuntu/bind9:9.16-21.10_edge         "docker-entrypoint.sh"   7 minutes ago   Up 7 minutes   0.0.0.0:53->53/tcp, 0.0.0.0:53->53/udp, :::53->53/tcp, :::53->53/udp, 953/tcp    playcecloud_bind9
e9854f5b221d   registry:2.7.1 


# chrony 서비스 동작 확인
root@deploy:~# systemctl status chronyd
● chrony.service - chrony, an NTP client/server
     Loaded: loaded (/lib/systemd/system/chrony.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2023-01-17 14:25:21 KST; 9min ago
       Docs: man:chronyd(8)
             man:chronyc(1)
             man:chrony.conf(5)
    Process: 17542 ExecStart=/usr/lib/systemd/scripts/chronyd-starter.sh $DAEMON_OPTS (code=exited,>
   Main PID: 17551 (chronyd)
      Tasks: 2 (limit: 19154)
     Memory: 1.2M
        CPU: 64ms
     CGroup: /system.slice/chrony.service
             ├─17551 /usr/sbin/chronyd -F 1
             └─17552 /usr/sbin/chronyd -F 1

Jan 17 14:25:21 deploy systemd[1]: Starting chrony, an NTP client/server...
Jan 17 14:25:21 deploy chronyd[17551]: chronyd version 4.2 starting (+CMDMON +NTP +REFCLOCK +RTC +P>
Jan 17 14:25:21 deploy chronyd[17551]: Frequency 0.000 +/- 1000000.000 ppm read from /var/lib/chron>
Jan 17 14:25:21 deploy chronyd[17551]: Using right/UTC timezone to obtain leap second data
Jan 17 14:25:21 deploy chronyd[17551]: Loaded seccomp filter (level 1)
Jan 17 14:25:21 deploy systemd[1]: Started chrony, an NTP client/server.


# Playce Kube 버전 확인
root@deploy:~# cat /playcecloud/playcekube/release.txt
name: Playce Kube
version: v2.0
release-date: 2022-07-05


설치를 진행할 서버는 Deploy 서버 그대로지만, 여기서부터는 클러스터를 구성하기 위한 설정입니다.

클러스터 설치 및 구성

클러스터는 .env 파일을 기본으로 환경이 구성되기 때문에 파일 생성 및 수정이 필요합니다.
★언급하지 않은 변수는 따로 수정이 필요 없기 때문에 밑의 내용만 참조하여 수정하시면 됩니다★

# 샘플 파일을 k8s.env 파일로 복사
root@deploy:~# cp -rp /playcecloud/playcekube/kubespray/kubespray-sample.env /playcecloud/data/kubespray/envfiles/k8s.env

# 파일 수정
root@deploy:~# vi /playcecloud/data/kubespray/envfiles/k8s.env
#ANSIBLE_PASSWD=                          -> 인증키를 사용하므로 주석 처리

PRIVATE_DNS=[DNS 서버 주소]               -> 일반적으로 deploy 서버 IP

PRIVATE_NTP=[NTP 서버 주소]               -> 일반적으로 deploy 서버 IP

# hosts config
MASTERS=playcekube-master01:[master노드 ip]     -> master 노드 ip
WORKERS=playcekube-worker01:[worker노드 ip]     -> worker 노드 한개이므로 하나만 지정
INGRESSES=playcekube-worker01                  -> worker 노드 한개이므로 하나만 지정

클러스터 설치 쉘 실행 및 확인

클러스터 계정 변경이 추가적으로 필요하므로 중간에 변경하는 과정을 꼭 진행 해주셔야 합니다.

# .env 파일을 이용하여 설치 쉘 실행
root@deploy:~# /playcecloud/playcekube/bin/playcekube_kubespray.sh -f /playcecloud/data/kubespray/envfiles/k8s.env


# 계정 변경
root@deploy:~# kubectl config use-context admin@k8s
Switched to context "admin@k8s".


# kubespray를 통해 설치된 master 노드와 worker 노드 확인
root@deploy:~# kubectl get node -o wide
NAME                  STATUS   ROLES                  AGE   VERSION   INTERNAL-IP    EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION      CONTAINER-RUNTIME
playcekube-master01   Ready    control-plane,master   91m   v1.22.8   10.252.1.45    <none>        Ubuntu 22.04.1 LTS   5.15.0-57-generic   containerd://1.5.8
playcekube-worker01   Ready    ingress                89m   v1.22.8   10.252.2.235   <none>        Ubuntu 22.04.1 LTS   5.15.0-57-generic   containerd://1.5.8


# woker에 생성된 파드 동작 확인
root@deploy:~# kubectl get pod -A
NAMESPACE       NAME                                          READY   STATUS    RESTARTS      AGE
cattle-system   cattle-cluster-agent-67b4949588-lgsvh         1/1     Running   0             87m
kube-system     calico-kube-controllers-b8d4d8984-77ckp        1/1     Running   1 (88m ago)   88m
kube-system     calico-node-lbdmn                              1/1     Running   0             89m
kube-system     calico-node-p4rpd                              1/1     Running   0             89m
kube-system     coredns-66fcfddbbd-stv8w                       1/1     Running   0             88m
kube-system     coredns-66fcfddbbd-xl89j                       1/1     Running   0             88m
kube-system     dns-autoscaler-cf845685b-vpxcq                 1/1     Running   0             88m
kube-system     etcd-playcekube-master01                       1/1     Running   0             91m
kube-system     kube-apiserver-playcekube-master01             1/1     Running   0             91m 
kube-system     kube-controller-manager-playcekube-master01    1/1     Running   1             91m
kube-system     kube-proxy-9q8dk                               1/1     Running   0             3m59s
kube-system     kube-proxy-g9qs8                               1/1     Running   0             3m59s
kube-system     kube-scheduler-playcekube-master01             1/1     Running   1             91m
kube-system     metrics-server-7855bfbc9b-nhf64                1/1     Running   0             87m
kube-system     nginx-proxy-playcekube-worker01                1/1     Running   0             89m
playcekube      csi-nfs-controller-7cd486b95c-vl8dn            3/3     Running   0             85m
playcekube      csi-nfs-node-48bth                             3/3     Running   0             85m
playcekube      csi-nfs-node-d2kdc                             3/3     Running   0             85
m
playcekube      ingress-nginx-controller-p7999                1/1     Running   0             86m

Ready 라는 필드를 보시면 모든 파드들이n/n 으로 숫자가 동일한 것을 확인하실 수 있는데요~
/n개의 파드생성할 예정이고 n/개의 파드제대로 생성됐다는 의미입니다.

숫자가 동일하지 않다면 파드가 제대로 실행되지 않았다는 뜻이니 그 때는 재설치를 진행 해주세요!!

애드온 (addon) 설치 및 확인

Addon 은 Playce Kube 에서 지원하고 있는 오픈 소스 서비스들을 패키징한 서비스 모음 입니다.
★Helm Chart 를 통해 간편히 설치가 진행되도록 구성되어 있고,
서비스들마다 종속성이 있으므로 순차적으로 설치를 진행해야 합니다★

# 설치 가능한 서비스 확인
root@deploy:~# ls -l /playcecloud/playcekube/kube-packages/*/install*.sh
-rwxr-xr-x 1 root root 4104 Jan 17 12:30 /playcecloud/playcekube/kube-packages/argo-cd/install-helm-charts.sh
-rwxr-xr-x 1 root root 1917 Jan 17 12:30 /playcecloud/playcekube/kube-packages/argo-events/install-helm-charts.sh
-rwxr-xr-x 1 root root  817 Jan 17 12:30 /playcecloud/playcekube/kube-packages/argo-rollouts/install-helm-charts.sh
-rwxr-xr-x 1 root root 1825 Jan 17 12:30 /playcecloud/playcekube/kube-packages/csi-driver-nfs/install-helm-charts.sh
-rwxr-xr-x 1 root root  822 Jan 17 12:30 /playcecloud/playcekube/kube-packages/curl/install-helm-charts.sh
-rwxr-xr-x 1 root root 2609 Jan 17 12:30 /playcecloud/playcekube/kube-packages/dashboard/install-helm-charts.sh
-rwxr-xr-x 1 root root 4005 Jan 17 12:30 /playcecloud/playcekube/kube-packages/gitea/install-helm-charts.sh
-rwxr-xr-x 1 root root 4808 Jan 17 12:30 /playcecloud/playcekube/kube-packages/gitlab/install-helm-charts.sh
-rwxr-xr-x 1 root root 5517 Jan 17 12:30 /playcecloud/playcekube/kube-packages/harbor/install-helm-charts.sh
-rwxr-xr-x 1 root root 2731 Jan 17 12:30 /playcecloud/playcekube/kube-packages/ingress-nginx/install-helm-charts.sh
-rwxr-xr-x 1 root root 1434 Jan 17 12:30 /playcecloud/playcekube/kube-packages/jenkins/install-helm-charts.sh
-rwxr-xr-x 1 root root 1104 Jan 17 12:30 /playcecloud/playcekube/kube-packages/keepalived/install-helm-charts.sh
-rwxr-xr-x 1 root root 6366 Jan 17 12:30 /playcecloud/playcekube/kube-packages/keycloak/install-helm-charts.sh
-rwxr-xr-x 1 root root  975 Jan 17 12:30 /playcecloud/playcekube/kube-packages/knative/install-helm-charts.sh
-rwxr-xr-x 1 root root 4510 Jan 17 12:30 /playcecloud/playcekube/kube-packages/kubeapps/install-helm-charts.sh
-rwxr-xr-x 1 root root 1557 Jan 17 12:30 /playcecloud/playcekube/kube-packages/linkerd-jaeger/install-helm-charts.sh
-rwxr-xr-x 1 root root 1166 Jan 17 12:30 /playcecloud/playcekube/kube-packages/linkerd-multicluster/install-helm-charts.sh
-rwxr-xr-x 1 root root 2485 Jan 17 12:30 /playcecloud/playcekube/kube-packages/linkerd-viz/install-helm-charts.sh
-rwxr-xr-x 1 root root 1788 Jan 17 12:30 /playcecloud/playcekube/kube-packages/linkerd2/install-helm-charts.sh
-rwxr-xr-x 1 root root  940 Jan 17 12:30 /playcecloud/playcekube/kube-packages/metrics-server/install-helm-charts.sh
-rwxr-xr-x 1 root root 4613 Jan 17 12:30 /playcecloud/playcekube/kube-packages/minio/install-helm-charts.sh
-rwxr-xr-x 1 root root 4780 Jan 17 12:30 /playcecloud/playcekube/kube-packages/oauth2-proxy/install-helm-charts.sh
-rwxr-xr-x 1 root root 9818 Jan 17 12:30 /playcecloud/playcekube/kube-packages/opendistro-es/install-helm-charts.sh
-rwxr-xr-x 1 root root 7738 Jan 17 12:30 /playcecloud/playcekube/kube-packages/prometheus/install-helm-charts.sh
-rwxr-xr-x 1 root root 1722 Jan 17 12:30 /playcecloud/playcekube/kube-packages/tekton/install-helm-charts.sh

-rwxr-xr-x 1 root root 2690 Jan 17 12:30 /playcecloud/playcekube/kube-packages/velero/install-helm-charts.sh
1. keycloak 설치
/playcecloud/playcekube/kube-packages/keycloak/install-helm-charts.sh


2. oauth2-proxy 설치
/playcecloud/playcekube/kube-packages/oauth2-proxy/install-helm-charts.sh


3. 모니터링 설치
/playcecloud/playcekube/kube-packages/prometheus/install-helm-charts.sh


4. velero (백업) 설치
/playcecloud/playcekube/kube-packages/minio/install-helm-charts.sh

/playcecloud/playcekube/kube-packages/velero/install-helm-charts.sh


5. gitea 설치
/playcecloud/playcekube/kube-packages/gitea/install-helm-charts.sh


6. harbor 설치
/playcecloud/playcekube/kube-packages/harbor/install-helm-charts.sh


7. tekton-pipeline 설치
/playcecloud/playcekube/kube-packages/tekton/install-helm-charts.sh


8. argo-cd 설치 
/playcecloud/playcekube/kube-packages/argo-cd/install-helm-charts.sh

/playcecloud/playcekube/kube-packages/argo-rollouts/install-helm-charts.sh

/playcecloud/playcekube/kube-packages/argo-events/install-helm-charts.sh


9. linkerd(서비스 매시) 설치
/playcecloud/playcekube/kube-packages/linkerd2/install-helm-charts.sh

/playcecloud/playcekube/kube-packages/linkerd-viz/install-helm-charts.sh

/playcecloud/playcekube/kube-packages/linkerd-jaeger/install-helm-charts.sh

/playcecloud/playcekube/kube-packages/linkerd-multicluster/install-helm-charts.sh


10. 로깅 설치

/playcecloud/playcekube/kube-packages/opendistro-es/install-helm-charts.sh
# 서비스 파드 설치된 것을 확인
root@deploy:~# kubectl get pod -A
NAMESPACE        NAME                                                        READY   STATUS             RESTARTS       AGE
cattle-system    cattle-cluster-agent-f945c486b-62xjx                        1/1     Running            0              7h4m
cattle-system    cattle-cluster-agent-f945c486b-n6hnl                        1/1     Running            0              7h5m
kube-system      calico-kube-controllers-b8d4d8984-77ckp                     1/1     Running            1 (9h ago)     9h
kube-system      calico-node-lbdmn                                           1/1     Running            0              9h
kube-system      calico-node-p4rpd                                           1/1     Running            0              9h
kube-system      coredns-66fcfddbbd-stv8w                                    1/1     Running            0              9h
kube-system      coredns-66fcfddbbd-xl89j                                    1/1     Running            0              9h
kube-system      dns-autoscaler-cf845685b-vpxcq                              1/1     Running            0              9h
kube-system      etcd-playcekube-master01                                    1/1     Running            0              9h
kube-system      kube-apiserver-playcekube-master01                          1/1     Running            0              9h
kube-system      kube-controller-manager-playcekube-master01                 1/1     Running            2 (7h5m ago)   9h
kube-system      kube-proxy-9q8dk                                            1/1     Running            0              7h41m
kube-system      kube-proxy-g9qs8                                            1/1     Running            0              7h41m
kube-system      kube-scheduler-playcekube-master01                          1/1     Running            1              9h
kube-system      metrics-server-7855bfbc9b-nhf64                             1/1     Running            0              9h
kube-system      nginx-proxy-playcekube-worker01                             1/1     Running            0              9h
playcekube-dev   argo-cd-argocd-application-controller-0                     1/1     Running            0              6h45m
playcekube-dev   argo-cd-argocd-applicationset-controller-68548f8c58-ckbmr   1/1     Running            0              6h45m
playcekube-dev   argo-cd-argocd-dex-server-6c9cc46b5-w4lxc                   1/1     Running            0              6h45m
playcekube-dev   argo-cd-argocd-notifications-controller-54d4ccff87-pm7lh    1/1     Running            0              6h45m
playcekube-dev   argo-cd-argocd-redis-77f88ccf57-rfh9f                       1/1     Running            0              6h45m
playcekube-dev   argo-cd-argocd-repo-server-59b48cb8bb-hnmv7                 1/1     Running            0              6h45m
playcekube-dev   argo-cd-argocd-server-648555f9cd-xg6rg                      1/1     Running            0              6h45m
playcekube-dev   argo-events-controller-manager-5dd554966-mh8wk              0/1     InvalidImageName   0              9s
playcekube-dev   argo-rollouts-86f6b5d78f-6sm4t                              1/1     Running            0              6h45m
playcekube-dev   argo-rollouts-86f6b5d78f-xn5tp                              1/1     Running            0              6h45m
playcekube-dev   gitea-0                                                     1/1     Running            0              6h46m
playcekube-dev   gitea-memcached-59bbd6bdcc-cnk47                            1/1     Running            0              6h46m
playcekube-dev   gitea-postgresql-0                                          1/1     Running            0              6h46m
playcekube-dev   harbor-chartmuseum-64c967f449-clqdj                         1/1     Running            0              6h45m
playcekube-dev   harbor-core-8487495b5-fwcxz                                 1/1     Running            0              6h45m
playcekube-dev   harbor-jobservice-7d6b555cd-v2p4m                           1/1     Running            0              6h45m
playcekube-dev   harbor-notary-server-54bd98dc57-xhj4c                       1/1     Running            0              6h45m
playcekube-dev   harbor-notary-signer-8466477bfc-mrpz8                       1/1     Running            0              6h45m
playcekube-dev   harbor-portal-5985f9545f-l2qc6                              1/1     Running            0              6h45m
playcekube-dev   harbor-postgresql-0                                         1/1     Running            0              6h45m
playcekube-dev   harbor-redis-master-0                                       1/1     Running            0              6h45m
playcekube-dev   harbor-registry-6c68655497-hxcqp                            2/2     Running            0              6h45m
playcekube-dev   harbor-trivy-0                                              1/1     Running            0              6h45m
playcekube-dev   tekton-dashboard-655cdd6dc6-hxv97                           1/1     Running            0              6h45m
playcekube-dev   tekton-pipelines-controller-74fb4dcc8d-77qm7                1/1     Running            0              6h45m
playcekube-dev   tekton-pipelines-webhook-b646cd56f-rffhp                    1/1     Running            0              6h45m
playcekube-dev   tekton-triggers-controller-79c95b6846-7s7qb                 1/1     Running            0              6h45m
playcekube-dev   tekton-triggers-core-interceptors-66bdd96bb-gtdq9           1/1     Running            0              6h45m
playcekube-dev   tekton-triggers-webhook-6cfb75b8dc-944kr                    1/1     Running            0              6h45m
playcekube       alertmanager-kube-prometheus-stack-alertmanager-0           2/2     Running            0              6h55m
playcekube       collector-667d8596f4-9pnn9                                  1/1     Running            0              6h42m
playcekube       csi-nfs-controller-7cd486b95c-vl8dn                         3/3     Running            0              9h
playcekube       csi-nfs-node-48bth                                          3/3     Running            0              9h
playcekube       csi-nfs-node-d2kdc                                          3/3     Running            0              9h
playcekube       grafana-bcbfb5664-nmlvg                                     1/1     Running            0              6h42m
playcekube       ingress-nginx-controller-p7999                              1/1     Running            0              9h
playcekube       jaeger-5cd85856cd-7nct6                                     1/1     Running            0              6h42m
playcekube       jaeger-injector-678d8c8d69-wsq7d                            1/1     Running            0              6h42m
playcekube       keycloak-0                                                  1/1     Running            0              17m
playcekube       keycloak-postgresql-0                                       1/1     Running            0              7h6m
playcekube       kube-prometheus-stack-grafana-5895f4d9c7-km66w              3/3     Running            0              6h55m
playcekube       kube-prometheus-stack-kube-state-metrics-84c77498dc-mlhdx   1/1     Running            0              6h55m
playcekube       kube-prometheus-stack-operator-566bd8bbd4-7rk2h             1/1     Running            0              6h55m
playcekube       kube-prometheus-stack-prometheus-node-exporter-f26pz        1/1     Running            0              6h55m
playcekube       kube-prometheus-stack-prometheus-node-exporter-jkljm        1/1     Running            0              6h55m
playcekube       linkerd-destination-8d6b46b9d-lkz6g                         4/4     Running            0              6h43m
playcekube       linkerd-gateway-895fd69db-zg4bd                             2/2     Running            0              6h42m
playcekube       linkerd-identity-55d4f599f5-lwvx5                           2/2     Running            0              6h43m
playcekube       linkerd-proxy-injector-598df6f7f-gkfpc                      2/2     Running            0              6h43m
playcekube       metrics-api-6646dfb649-5s96b                                1/1     Running            0              6h42m
playcekube       minio-0                                                     1/1     Running            0              6h54m
playcekube       minio-1                                                     1/1     Running            0              6h54m
playcekube       minio-2                                                     1/1     Running            0              6h54m
playcekube       minio-3                                                     1/1     Running            0              6h54m
playcekube       oauth2-proxy-665cb95846-z4xb4                               1/1     Running            2 (10m ago)    11m
playcekube       oauth2-proxy-redis-master-0                                 1/1     Running            0              10m
playcekube       oauth2-proxy-redis-replicas-0                               1/1     Running            0              9m45s
playcekube       oauth2-proxy-redis-replicas-1                               1/1     Running            0              10m
playcekube       oauth2-proxy-redis-replicas-2                               1/1     Running            0              11m
playcekube       prometheus-97b8cd985-nhcv8                                  1/1     Running            0              6h42m
playcekube       prometheus-kube-prometheus-stack-prometheus-0               2/2     Running            0              6h55m
playcekube       tap-75845f895b-99txz                                        1/1     Running            0              6h42m
playcekube       tap-injector-7f59ddcc56-pmdlk                               1/1     Running            0              6h42m
playcekube       velero-74fbf77964-bvsj7                                     1/1     Running            0              6h53m
playcekube       web-7969d97795-hmqkx                                        1/1     Running            0              6h42m

마지막으로 도메인을 통해 웹 접속하셔서 서비스가 잘 동작하는지 확인하시면 설치가 끝이 납니다!!!

도메인 접속

도메인 접속이 가능하기 위해서는 접속하려는 서버가 DNS 서버로 동작하는 Deploy 서버 를 바라보게 설정되어야 합니다. -> NameServer 가 Deploy IP로 설정되어야 한다는 의미!!
★Deploy 서버는 기본적으로 밑의 도메인 네임을 통해 접속이 가능하도록 설정이 되어있습니다★
★도메인 네임은 인그레스를 통해 확인하실 수 있습니다★

Hosts : 도메인 네임 , Address : Worker Node IP

저는 서비스들 중 예시로 Keycloak을 확인해보겠습니다.

keycloak 접속 확인

웹 접속을 통해 keycloak 서비스가 동작하는지 확인했고, 아주 잘 동작하고 있네요~~~

이상으로 이번 포스팅을 마치겠습니다.
읽어봐주셔서 감사합니다.

Playce Cloud Team의 Solution Architect 최수빈입니다. 클라우드 엔지니어로서 많이 배우고 성장하고 싶습니다!

Leave a Reply

Your email address will not be published. Required fields are marked *