본문 바로가기
CSP (Cloud Service Provider)/KT Cloud

[KT Cloud] OKD(Open Shift)를 이용한 K2P 사용 가이드 (1)

by BTC_정영걸 2022. 12. 12.

K2P 상품은 KD(Open Shift) 를 이용하여 kubernetes 기반 컨테이너 환경을 구성하고 있습니다.

이번 시간에는 OKD를 이용한 K2P 사용 방법에 대하여 일부 알아 보도록 하겠습니다.

 

1. OpenShift CLI(oc) 사용한 Cluster 접근 방법

 

1-1) Windows OS 일 경우

해당 OS에 맞는 'openshift-origin-client-tools-v3.11.0-0cbc58b-windows.zip' 파일 다운로드
압축 해제 후 'oc.exe' 파일을 C:\Windows\System32 경로로 이동
Windows CMD 창에서 'oc' 명령어 사용 시 다운로드 확인
접속하고자 하는 Cluster 선택 후, 좌측 상단 '···' 버튼 클릭 후 드롭다운 메뉴에서 '클러스터 정보' 클릭
접속 URL 확인
(Orchestration Tool 버전 3.11의 경우, 자동화 툴 콘솔 URL 확인)
(Orchestration Tool 버전 4.xx의 경우, API URL 확인)
CMD 창에서 'oc login [접속 URL] -u [유저 아이디(초기 접속 시 안내된 아이디 입력)] -p [비밀번호(초기 접속 시 안내된 password 입력)]' 입력
CMD 창에서 oc 명령어 사용 가능

1-2) Linux OS 일 경우

1-2-1) 다운로드 파일 사용
해당 OS에 맞는 'openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz' 파일 다운로드
다운로드 된 파일 확인
다음 명령어 수행
$mkdir [폴더명]
$tar -zxvf openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz -C [폴더명]
$echo 'export PATH=$PATH:~/[폴더명]' >> ~/.bashrc && source ~/.bashrc
위의 명령어 정상적으로 수행되었는지 확인
'oc' 명령어 사용 확인
접속하고자 하는 Cluster 선택 후, 좌측 상단 '···' 버튼 클릭 후 드롭다운 메뉴에서 '클러스터 정보' 클릭
접속 URL 확인
(Orchestration Tool 버전 3.11의 경우, 자동화 툴 콘솔 URL 확인)
(Orchestration Tool 버전 4.xx의 경우, API URL 확인)
CMD 창에서 'oc login [접속 URL] -u [유저 아이디(초기 접속 시 안내된 아이디 입력)] -p [비밀번호(초기 접속 시 안내된 password 입력)]' 입력
oc 명령어 사용 가능
1-2-2) yum 사용
yum-config-manager' 사용을 위해, 'yum-utils' 설치
$yum install yum-utils
$yum clean all
$yum update
업데이트 완료 확인
다시 업데이트 진행
$yum clean all
$yum update
업데이트 최종 완료
레포지토리 추가
$yum install centos-release-openshift-origin311.noarch
centos-ansible26 비활성화
$yum-config-manager --disable centos-ansible26
openshift client 설치
$yum install origin-clients
접속하고자 하는 Cluster 선택 후, 좌측 상단 '···' 버튼 클릭 후 드롭다운 메뉴에서 '클러스터 정보' 클릭
접속 URL 확인
(Orchestration Tool 버전 3.11의 경우, 자동화 툴 콘솔 URL 확인)
(Orchestration Tool 버전 4.xx의 경우, API URL 확인)
'oc login [접속 URL] -u [유저 아이디(초기 접속 시 안내된 아이디 입력)] -p [비밀번호(초기 접속 시 안내된 password 입력)]' 입력
oc 명령어 확인

 

 

2. Cluster내 기본적으로 제공되는 Docker Repository 사용방법

 

 
cluster 내에 기본적으로 설치되는 Docker Repository 사용 방법은 아래와 같습니다.
일단 cluster의 worker node에 ssh로 접속
그 뒤, 'oc login [접속 URL] -u [유저 아이디(초기 접속 시 안내된 아이디 입력)] -p [비밀번호(초기 접속 시 안내된 password 입력)]'
'Login successful' 이 뜨며 로그인 성공. 기본적으로 default project를 사용
oc project [프로젝트 명]을 이용하여 원하는 프로젝트를 사용가능
oc get route 명령어를 통해 Docker Repository 주소 잦기
'docker-registry-default.xxx' 형식
'/etc/sysconfig/docker' 파일 vi로 접속(Read Only 파일이기 때문에, 편집하기 위해 sudo사용)
아래와 같은 화면이 뜨게 되면, --insecure에 해당 docker registry 추가.
(빨간색으로 체크해 놓은 부분)
그 뒤 도커 재시작
재시작 완료 후, docker version 명렁어 사용하여 정상작동 확인
$docker login [docker registry주소] - u root -p $(oc whoami -t) 명령어 이용하여 docker registry 로그인
사용예시를 위해 busybox:1.32.1 버전을 dockerhub에서 pull한 뒤, docker images 명령어 이용하여 정상적으로 pull 되었는지 확인
docker tag [기존이미지:tag] [docker registry 주소/namespace/image_name:tag] 사용하여 기존 이미지와 이름만 다른 이미지 생성
docker push [docker registry주소/namespace/image_name:tag] 명령어 이용하여 Docker Repository로 push
로컬이 아닌, 클러스터에 설치 된 Docker Repository에 이미지가 push 되었는지 확인하기 위하여, 로컬 registry에서 기존 busybox 이미지 모두 삭제 (docker rmi 명령어 사용)
이미지 삭제 후,docker run [Docker-registry주소/namespace/iamge_name:tag] 를 실행하면 다음과 같은 화면이 뜨게 됨
중간에 로컬저장소에서 이미지를 가져올 수 없으니, 클러스터에 설치 된 docker registry에서 pull해서 가져온다는 문구 확인 가능
그 뒤 docker ps -a 명령어 사용하여 컨테이너 목록 확인하면, 이미지가 정상적으로 pull 되어 실행되었음을 확인 가능

댓글