클라우드 분류
[KT클라우드]DX Container 이용 방법
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,633 조회
- 0 추천
- 목록
본문
DX Container 동영상 가이드
Cluster 생성
※ Cluster 생성 오류 발생 시, 브라우저 크롬 캐시 삭제 후 Cluster 생성 재시도
cloud.kt.com의 콘솔 화면에서 좌측 'Container' 상품 클릭 후 'Cluster 생성' 클릭
![](https://cloud.kt.com/portal/user-guide/images/18020201.jpg)
클러스터 명과 DMZ Tier, Private Tier를 선택하고 '다음' 클릭
![](https://cloud.kt.com/portal/user-guide/images/18020202.jpg)
Private Tier와 DMZ Tier에 생성을 원하는 Worker Node 스펙과 수량을 선택, '다음' 버튼 클릭
Worker Node에 Disk 수정 변경을 원할 시 'WorkerNode 추가 Disk 사용' bar 활성화 후 수정
Worker Node 접속을 위해 원하는 Key Pair 선택
(Key Pair는 'Server'-'SSH Key Pair' 에서 생성 가능)
![](https://cloud.kt.com/portal/user-guide/images/18020203.jpg)
NAS 볼륨 생성을 위해 용량(GB) 입력 후 '다음' 클릭 (최소 1,000GB)
![](https://cloud.kt.com/portal/user-guide/images/18020204.jpg)
최종 확인 과정으로 인프라 생성 Summary 확인 후 '생성하기' 클릭
![](https://cloud.kt.com/portal/user-guide/images/18020205.jpg)
Cluster 조회
클좌측 메뉴 중 Container 클릭하여 조회
![](https://cloud.kt.com/portal/user-guide/images/18020206.jpg)
좌측 상단 '···' 버튼 클릭 후 Cluster 상세 정보 조회 가능
![](https://cloud.kt.com/portal/user-guide/images/18020207.jpg)
DX Container Portal 접속
Cluster 리스트에서 'Container 콘솔' 버튼 클릭
![](https://cloud.kt.com/portal/user-guide/images/18020208.jpg)
ㅁ DX Container 포탈을 통한 Cluster 관리 시작
![](https://cloud.kt.com/portal/user-guide/images/18020209.jpg)
DX Container 포탈의 상세 가이드 확인 방법
포탈 하단에 매뉴얼 다운로드 클릭
![](https://cloud.kt.com/portal/user-guide/images/18020210.jpg)
Worker Node 추가
Cluster 리스트에서 Worker Node를 추가하고자 하는 클러스터 체크
좌측 상단 '···' 버튼 클릭 후 드롭다운메뉴에서 'Worker Node 추가' 선택
![](https://cloud.kt.com/portal/user-guide/images/18020211.jpg)
'Node 추가' 팝업창에서 추가할 Worker Node 개수를 입력 후 '추가하기' 버튼 클릭
![](https://cloud.kt.com/portal/user-guide/images/18020212.jpg)
일정 시간 이후 Node 추가 작업이 정상적으로 완료되면, 클러스터 상태가 '생성 중'에서 '사용'으로 업데이트
![](https://cloud.kt.com/portal/user-guide/images/18020213.jpg)
Worker Node 삭제
Cluster 리스트에서 Worker Node를 삭제하고자 하는 클러스터 체크
좌측 상단 '···' 버튼 클릭 후 드롭다운 메뉴에서 'Node 삭제' 선택
![](https://cloud.kt.com/portal/user-guide/images/18020214.jpg)
'Node 삭제' 팝업창에서 삭제할 Worker Node를 선택 후 '삭제하기' 버튼 클릭
![](https://cloud.kt.com/portal/user-guide/images/18020215.jpg)
팝업창이 뜨면, '삭제' 버튼 클릭
![](https://cloud.kt.com/portal/user-guide/images/18020216.jpg)
'Node 삭제' 팝업창에서 삭제된 것 확인 가능
![](https://cloud.kt.com/portal/user-guide/images/18020217.jpg)
Cluster 포트포워딩 방법
먼저 외부에서 접속 허용하기 위해서는 추가적인 접속 설정 필요
'Server'-'Server' 으로 이동하여 원하는 Cluster의 Worker Node 선택 후 '접속설정' 버튼 클릭
(Master Node가 아닌, Worker Node만 설정 가능)
![](https://cloud.kt.com/portal/user-guide/images/18020218.jpg)
공인IP를 선택하고 공인Port 번호를 입력 후 '추가' 버튼 클릭
(공인IP 는 새로 생성한 'ASSOCIATE' TYPE이나 'PORTFOWARDING' TYPE의 IP 선택)
(공인IP 의 TYPE은 'Server'-'Networking' 에서 확인 가능')
![](https://cloud.kt.com/portal/user-guide/images/18020219.jpg)
'Server'-'Networking' 으로 이동하여 위에서 설정했던 공인IP 선택 후, '방화벽' 버튼 클릭
![](https://cloud.kt.com/portal/user-guide/images/18020220.jpg)
설정했던 공인IP 와 공인Port 번호가 설정된 것을 선택 후, '추가' 버튼 클릭
![](https://cloud.kt.com/portal/user-guide/images/18020221.jpg)
추가된 것을 확인
![](https://cloud.kt.com/portal/user-guide/images/18020222.jpg)
Key Pair 사용한 Cluster 접근 방법
클러스터 생성 시, 선택했던 Key Pair 사용
(Cluster의 Worker Node 포트 포워딩 설정 완료 후 접근 가능)
1-1) MacOS 또는 Linux 환경에서 Cluster 접근하기
MacOS의 경우, command + Space를 누른 뒤, '터미널'을 입력하여 터미널을 실행
기타 Linux의 경우, 시작 버튼을 눌러 Terminal을 실행
이후 서버 생성 시 사용한 키가 있는 디렉토리로 이동
해당 키파일(예: keypair1.pem)의 권한을 변경해야 SSH 접속이 가능
터미널 내 아래와 같이 입력하여 키파일의 권한을 변경
$ chmod 600 keypair1.pem
SSH 명령어를 통해 키파일을 통해 서버에 접속
※ CentOS 서버는 계정명 centos, Ubuntu 서버는 계정명 ubuntu로 접근
$ ssh -i [키파일명] [계정명]@[IP] -p [포트]
※ 포트의 경우, 접속설정 시 설정된 공인 포트를 입력
(예: Worker Node의 22번 포트를 10022번 포트에 연결하였을 경우, -p 10022로 입력)
1-2) Windows10에서 Cluster 접근하기
Putty를 통해 서버에 접근하려면, 포탈에서 받은 pem 확장자 파일을 ppk로 변경
'시작' - 'PuTTYgen' 입력하여 실행
(Putty 설치 시, PuTTYgen 자동 설치)
![](https://cloud.kt.com/portal/user-guide/images/18020224.jpg)
'Load' 버튼을 클릭하여 pem 파일 불러오기
![](https://cloud.kt.com/portal/user-guide/images/18020225.jpg)
pem 파일이 보이지 않을 경우, 아래 그림과 같이 확장자를 'All Files'로 변경
![](https://cloud.kt.com/portal/user-guide/images/18020226.jpg)
pem 파일을 성공적으로 불러오면, 다음과 같은 팝업창 발생('확인' 버튼 클릭)
![](https://cloud.kt.com/portal/user-guide/images/18020227.jpg)
'Save Private key' 클릭
![](https://cloud.kt.com/portal/user-guide/images/18020228.jpg)
'예' 버튼 클릭 후 ppk 파일 저장
![](https://cloud.kt.com/portal/user-guide/images/18020229.jpg)
'시작'-'PuTTy'를 입력하여 PuTTy 프로그램을 실행
![](https://cloud.kt.com/portal/user-guide/images/18020230.jpg)
변경한 ppk 파일을 사용
좌측 'Connection'-'SSH'-'Auth' 로 이동하여, 'Browse' 버튼 클릭
![](https://cloud.kt.com/portal/user-guide/images/18020231.jpg)
변경한 ppk 파일 선택 후 '열기' 버튼 클릭
![](https://cloud.kt.com/portal/user-guide/images/18020232.jpg)
좌측 'Session'으로 이동하여, Host Name에 [계정명]@[공인IP]를 입력
※ CentOS 서버는 계정명 centos, Ubuntu 서버는 계정명 ubuntu로 접근
Port의 경우, 접속 설정에 사용한 공인 포트 번호를 입력
'Open' 버튼을 클릭하여 접속 시도
![](https://cloud.kt.com/portal/user-guide/images/18020233.jpg)
접속 확인
![](https://cloud.kt.com/portal/user-guide/images/18020234.jpg)
OpenShift CLI(oc) 사용한 Cluster 접근 방법
1-1) Windows OS 일 경우
해당 OS에 맞는 'openshift-origin-client-tools-v3.11.0-0cbc58b-windows.zip' 파일 다운로드
![](https://cloud.kt.com/portal/user-guide/images/18020235.jpg)
압축 해제 후 'oc.exe' 파일을 C:\Windows\System32 경로로 이동
Windows CMD 창에서 'oc' 명령어 사용 시 다운로드 확인
![](https://cloud.kt.com/portal/user-guide/images/18020236.jpg)
접속하고자 하는 Cluster 선택 후, 좌측 상단 '···' 버튼 클릭 후 드롭다운 메뉴에서 '클러스터 정보' 클릭
![](https://cloud.kt.com/portal/user-guide/images/18020237.jpg)
자동화 툴 콘솔 URL 확인
![](https://cloud.kt.com/portal/user-guide/images/18020238.jpg)
CMD 창에서 'oc login [자동화 툴 콘솔 URL] -u [유저 아이디(초기 접속 시 안내된 아이디 입력)] -p [비밀번호(초기 접속 시 안내된 password 입력)]' 입력
![](https://cloud.kt.com/portal/user-guide/images/18020239.jpg)
CMD 창에서 oc 명령어 사용 가능
![](https://cloud.kt.com/portal/user-guide/images/18020240.jpg)
1-2) Linux OS 일 경우
1-2-1) 다운로드 파일 사용
해당 OS에 맞는 'openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz' 파일 다운로드
![](https://cloud.kt.com/portal/user-guide/images/18020270.jpeg)
다운로드 된 파일 확인
![](https://cloud.kt.com/portal/user-guide/images/18020271.jpeg)
다음 명령어 수행
$mkdir [폴더명]
$tar -zxvf openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz -C [폴더명]
$echo 'export PATH=$PATH:~/[폴더명]' >> ~/.bashrc && source ~/.bashrc
![](https://cloud.kt.com/portal/user-guide/images/18020272.jpeg)
위의 명령어 정상적으로 수행되었는지 확인
![](https://cloud.kt.com/portal/user-guide/images/18020273.jpeg)
'oc' 명령어 사용 확인
![](https://cloud.kt.com/portal/user-guide/images/18020274.jpeg)
접속하고자 하는 Cluster 선택 후, 좌측 상단 '···' 버튼 클릭 후 드롭다운 메뉴에서 '클러스터 정보' 클릭
![](https://cloud.kt.com/portal/user-guide/images/18020275.jpeg)
자동화 툴 콘솔 URL 확인
![](https://cloud.kt.com/portal/user-guide/images/18020276.jpeg)
CMD 창에서 'oc login [자동화 툴 콘솔 URL] -u [유저 아이디(초기 접속 시 안내된 아이디 입력)] -p [비밀번호(초기 접속 시 안내된 password 입력)]' 입력
![](https://cloud.kt.com/portal/user-guide/images/18020277.jpeg)
oc 명령어 사용 가능
![](https://cloud.kt.com/portal/user-guide/images/18020278.jpeg)
1-2-1) yum 사용
yum-config-manager' 사용을 위해, 'yum-utils' 설치
$yum install yum-utils
![](https://cloud.kt.com/portal/user-guide/images/18020241.jpg)
$yum clean all
![](https://cloud.kt.com/portal/user-guide/images/18020242.jpg)
$yum update
![](https://cloud.kt.com/portal/user-guide/images/18020243.jpg)
업데이트 완료 확인
![](https://cloud.kt.com/portal/user-guide/images/18020244.jpg)
다시 업데이트 진행
$yum clean all
$yum update
![](https://cloud.kt.com/portal/user-guide/images/18020245.jpg)
업데이트 최종 완료
![](https://cloud.kt.com/portal/user-guide/images/18020246.jpg)
레포지토리 추가
$yum install centos-release-openshift-origin311.noarch
![](https://cloud.kt.com/portal/user-guide/images/18020247.jpg)
centos-ansible26 비활성화
$yum-config-manager --disable centos-ansible26
![](https://cloud.kt.com/portal/user-guide/images/18020248.jpg)
openshift client 설치
$yum install origin-clients
![](https://cloud.kt.com/portal/user-guide/images/18020249.jpg)
접속하고자 하는 Cluster 선택 후, 좌측 상단 '···' 버튼 클릭 후 드롭다운 메뉴에서 '클러스터 정보' 클릭
![](https://cloud.kt.com/portal/user-guide/images/18020250.jpg)
자동화 툴 콘솔 URL 확인
![](https://cloud.kt.com/portal/user-guide/images/18020251.jpg)
'oc login [자동화 툴 콘솔 URL] -u [유저 아이디(초기 접속 시 안내된 아이디 입력)] -p [비밀번호(초기 접속 시 안내된 password 입력)]' 입력
![](https://cloud.kt.com/portal/user-guide/images/18020252.jpg)
oc 명령어 확인
![](https://cloud.kt.com/portal/user-guide/images/18020253.jpg)
1-3) Mac OS 일 경우
Mac OS의 경우 Mac OS용 패키지 관리자인 'HomeBrew'를 통해 간편하게 openshift cli를 설치하고 cluster에 접근 가능
'HomeBrew' 설치를 위해 Mac OS의 터미널에 접속한 후 다음 명령어 수행 (HomeBrew 설치는' https://brew.sh/index_ko' 참조)
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
그 후, Mac 사용자 Password를 입력하여 명령어 실행.
![](https://cloud.kt.com/portal/user-guide/images/18020254.png)
명령어 실행 후, 설치를 계속 진행하기 위해 'RETURN' KEY 입력(Window의 Enter key와 같은 위치에 있는 key 입력)
![](https://cloud.kt.com/portal/user-guide/images/18020255.png)
'RETURN' KEY 입력시 아래와 같이 설치 진행
![](https://cloud.kt.com/portal/user-guide/images/18020256.png)
'Installation successful!' 문구가 뜨며 설치 완료.
![](https://cloud.kt.com/portal/user-guide/images/18020257.png)
설치 완료 후, PATH에 HomeBrew 경로 추가를 위한 명령어 안내
![](https://cloud.kt.com/portal/user-guide/images/18020258.png)
안내된 명령어 입력후(echo 'eval~'), brew help를 통해 설치가 제대로 완료되었는지 확인
설치가 제대로 완료되었다면 아래와 같이 동작
![](https://cloud.kt.com/portal/user-guide/images/18020259.png)
HomeBrew가 제대로 설치되었다면, brew install명령어를 이용하여 openshift-cli 설치
다음 명령어 입력
$brew install openshift-cli
![](https://cloud.kt.com/portal/user-guide/images/18020260.png)
$oc version 입력하여, 설치확인
![](https://cloud.kt.com/portal/user-guide/images/18020261.png)
접속하고자 하는 Cluster 선택 후, 좌측 상단 '···' 버튼 클릭 후 드롭다운 메뉴에서 '클러스터 정보' 클릭
![](https://cloud.kt.com/portal/user-guide/images/18020262.jpg)
자동화 툴 콘솔 URL 확인
![](https://cloud.kt.com/portal/user-guide/images/18020263.jpg)
$oc login [자동화 툴 콘솔 URL] -u [유저 아이디(초기 접속 시 안내된 아이디 입력)] -p [비밀번호(초기 접속 시 안내된 password 입력)]' 입력
![](https://cloud.kt.com/portal/user-guide/images/18020264.png)
Cluster내 기본적으로 제공되는 Docker Repository 사용방법
cluster 내에 기본적으로 설치되는 Docker Repository 사용 방법은 아래와 같습니다.
일단 cluster의 worker node에 ssh로 접속
![](https://cloud.kt.com/portal/user-guide/images/18020265.png)
그 뒤, 'oc login [자동화 툴 콘솔 URL] -u [유저 아이디(초기 접속 시 안내된 아이디 입력)] -p [비밀번호(초기 접속 시 안내된 password 입력)]'
'Login successful' 이 뜨며 로그인 성공. 기본적으로 default project를 사용
![](https://cloud.kt.com/portal/user-guide/images/18020266.png)
oc project [프로젝트 명]을 이용하여 원하는 프로젝트를 사용가능
![](https://cloud.kt.com/portal/user-guide/images/18020267.png)
oc get route 명령어를 통해 Docker Repository 주소 잦기
'docker-registry-default.xxx' 형식
![](https://cloud.kt.com/portal/user-guide/images/18020268.png)
'/etc/sysconfig/docker' 파일 vi로 접속(Read Only 파일이기 때문에, 편집하기 위해 sudo사용)
![](https://cloud.kt.com/portal/user-guide/images/18020269.png)
아래와 같은 화면이 뜨게 되면, --insecure에 해당 docker registry 추가.
(빨간색으로 체크해 놓은 부분)
![](https://cloud.kt.com/portal/user-guide/images/18020270.png)
그 뒤 도커 재시작
![](https://cloud.kt.com/portal/user-guide/images/18020271.png)
재시작 완료 후, docker version 명렁어 사용하여 정상작동 확인
![](https://cloud.kt.com/portal/user-guide/images/18020272.png)
$docker login [docker registry주소] - u root -p $(oc whoami -t) 명령어 이용하여 docker registry 로그인
![](https://cloud.kt.com/portal/user-guide/images/18020273.png)
사용예시를 위해 busybox:1.32.1 버전을 dockerhub에서 pull한 뒤, docker images 명령어 이용하여 정상적으로 pull 되었는지 확인
![](https://cloud.kt.com/portal/user-guide/images/18020274.png)
docker tag [기존이미지:tag] [docker registry 주소/namespace/image_name:tag] 사용하여 기존 이미지와 이름만 다른 이미지 생성
![](https://cloud.kt.com/portal/user-guide/images/18020275.png)
docker push [docker registry주소/namespace/image_name:tag] 명령어 이용하여 Docker Repository로 push
![](https://cloud.kt.com/portal/user-guide/images/18020276.png)
로컬이 아닌, 클러스터에 설치 된 Docker Repository에 이미지가 push 되었는지 확인하기 위하여, 로컬 registry에서 기존 busybox 이미지 모두 삭제 (docker rmi 명령어 사용)
![](https://cloud.kt.com/portal/user-guide/images/18020277.png)
이미지 삭제 후,docker run [Docker-registry주소/namespace/iamge_name:tag] 를 실행하면 다음과 같은 화면이 뜨게 됨
중간에 로컬저장소에서 이미지를 가져올 수 없으니, 클러스터에 설치 된 docker registry에서 pull해서 가져온다는 문구 확인 가능
![](https://cloud.kt.com/portal/user-guide/images/18020278.png)
그 뒤 docker ps -a 명령어 사용하여 컨테이너 목록 확인하면, 이미지가 정상적으로 pull 되어 실행되었음을 확인 가능
![](https://cloud.kt.com/portal/user-guide/images/18020279.png)
Openshift SCC(Security Context Constraint) 설정
Openshift 에서는 Service Account를 통해 권한 변경이 가능
기본적인 Openshift default serviceaccount 는 "restrict" 으로, 일반 권한의 UID로 컨테이너가 실행
root 권한이 필요한 경우 권한을 변경하여 사용
해당 VM에서 Openshift login 진행
#oc login [자동화 툴 콘솔 URL] -u [유저 아이디(초기 접속 시 안내된 아이디 입력)] -p [비밀번호(초기 접속 시 안내된 password 입력)]
![](https://cloud.kt.com/portal/user-guide/images/18020280.jpg)
해당 Service Account에 SCC(Security Context Constraint) 권한 추가
#oc adm policy add-scc-to-user anyuid system:serviceaccount:[namespace명]:default
![](https://cloud.kt.com/portal/user-guide/images/18020281.jpg)
root 권한으로 실행하도록 배포 파일 변경
#oc edit deployment [deployment 파일명]
spec.template.spec.securityContext 필드 수정
spec.template.spec.securityContext: {} -> spec.template.spec.securityContext: runAsUser:0
![](https://cloud.kt.com/portal/user-guide/images/18020282.jpg)
Cluster에 Container 배포 방법
Cluster에 Container를 배포하는 방법으로는 Deployment file 작성으로 가능
아래의 명령어 입력 후, 아래와 같이 원하는 container(pod) spec으로 작성
$vi [deployment file명]
![](https://cloud.kt.com/portal/user-guide/images/18020283.png)
아래의 명령어를 통해 container(pod) 생성 및 확인
$oc create -f [deployment file명]
$oc get pods
![](https://cloud.kt.com/portal/user-guide/images/18020284.png)
Cluster에 생성된 Container 외부 노출 방법
Cluster에 Container를 외부로 노출하는 방법은 Service와 Routes를 통해 가능
아래의 명령어 입력 후, 원하는 service spec으로 작성
$vi [service file명
![](https://cloud.kt.com/portal/user-guide/images/18020285.jpg)
아래의 명령어를 통해 container(pod) 생성 및 확인
$oc create -f [service file명]
$oc get service
![](https://cloud.kt.com/portal/user-guide/images/18020286.jpg)
다음으로는 Route를 사용해서 해당 service를 외부로 노출
$oc expose service/[service명] --name [route명]
![](https://cloud.kt.com/portal/user-guide/images/18020287.jpg)
확인된 주소로 들어가면 페이지를 확인 가능
![](https://cloud.kt.com/portal/user-guide/images/18020288.jpg)
Cluster에 생성된 Volume을 Container에 연동하는 방법
Cluster에 연동된 Volume을 Container에 연동하는 방법은 pv와 pvc를 통해 가능
(pv와 pvc에 대한 내용은 KT Cloud 블로그를 통해 확인 가능 https://tech.ktcloud.com/ )
먼저 Container 생성 시, 연동된 NFS Volume 정보에 대해 확인
좌측 상단 '···' 버튼 클릭 후 드롭다운 메뉴에서 '클러스터 정보' 선택하여 확인 가능
![](https://cloud.kt.com/portal/user-guide/images/18020289.jpg)
해당 path에 연동된 pv 생성
아래의 명령어 입력 후, 원하는 volume spec으로 작성
$vi [pv file명]
![](https://cloud.kt.com/portal/user-guide/images/18020290.jpg)
아래의 명령어를 통해 pv 생성 및 확인
$oc create -f [pv file명]
$oc get pv
![](https://cloud.kt.com/portal/user-guide/images/18020291.jpg)
pv와 연동하기 위한 pvc를 생성
아래의 명령어 입력 후, 원하는 spec으로 작성
$vi [pvc file명]
![](https://cloud.kt.com/portal/user-guide/images/18020292.jpg)
아래의 명령어를 통해 pvc 생성 및 확인
$oc create -f [pvc file명]
$oc get pvc
![](https://cloud.kt.com/portal/user-guide/images/18020293.jpg)
pv와 pvc연동된 것을 확인
$oc get pv
![](https://cloud.kt.com/portal/user-guide/images/18020294.jpg)
container 배포 시 해당 volume을 사용하고 싶다면, volumeMounts에 해당 pvc명을 기입해 사용
예를 들어, 아래와 같이 작성
$vi [pod 명]
![](https://cloud.kt.com/portal/user-guide/images/18020295.jpg)
명령어를 통해 container(pod) 생성 및 확인
![](https://cloud.kt.com/portal/user-guide/images/18020296.jpg)
volume에 연결된 Pod인지 확인하기 위해, mount path로 연결한 위치에 index.html 생성
![](https://cloud.kt.com/portal/user-guide/images/18020297.jpg)
앞서 생성했던 container(pod)로 들어가서 확인
![](https://cloud.kt.com/portal/user-guide/images/18020298.jpg)
"무단배포금지: 클라우드포털(www.linux.co.kr)의 모든 강좌는 저작권에 의해 보호되는 콘텐츠입니다. 무단으로 복제하여 배포하는 행위는 금지되어 있습니다."
관련자료
-
링크
-
이전
-
다음
댓글 0
등록된 댓글이 없습니다.