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' 파일 다운로드
![](https://blog.kakaocdn.net/dn/bVbJmf/btrThH8HwJV/aMcIgHk0vV4HIQmkVxk75K/img.jpg)
압축 해제 후 'oc.exe' 파일을 C:\Windows\System32 경로로 이동
Windows CMD 창에서 'oc' 명령어 사용 시 다운로드 확인
![](https://blog.kakaocdn.net/dn/ccBZgX/btrTqDDrsYb/EWVtTFQaKV1fST7wdKgvB0/img.jpg)
접속하고자 하는 Cluster 선택 후, 좌측 상단 '···' 버튼 클릭 후 드롭다운 메뉴에서 '클러스터 정보' 클릭
![](https://blog.kakaocdn.net/dn/d15ZAt/btrTk2jI9bj/rIkuCG5JURtcQIqtcHnqPk/img.jpg)
접속 URL 확인
(Orchestration Tool 버전 3.11의 경우, 자동화 툴 콘솔 URL 확인)
![](https://blog.kakaocdn.net/dn/HgoAd/btrThlx4AZV/M0AwRp2toAZfYxgBHiOjG0/img.jpg)
(Orchestration Tool 버전 4.xx의 경우, API URL 확인)
![](https://blog.kakaocdn.net/dn/nneQ4/btrTmYuzmDf/Fl5rPsHedGf8swwAe8pmV0/img.jpg)
CMD 창에서 'oc login [접속 URL] -u [유저 아이디(초기 접속 시 안내된 아이디 입력)] -p [비밀번호(초기 접속 시 안내된 password 입력)]' 입력
![](https://blog.kakaocdn.net/dn/HjPIL/btrTob1wMYK/hZQDQO2j129BBEafIccgq1/img.jpg)
CMD 창에서 oc 명령어 사용 가능
![](https://blog.kakaocdn.net/dn/b2FI4P/btrTls3LVBb/Jx5bCJWT7hZ9gHsu3NGeFK/img.jpg)
1-2) Linux OS 일 경우
1-2-1) 다운로드 파일 사용
해당 OS에 맞는 'openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz' 파일 다운로드
![](https://blog.kakaocdn.net/dn/7Wq7Y/btrTk2qsQwe/QcItb90fZR2e6tKi0T3Bw1/img.jpg)
다운로드 된 파일 확인
![](https://blog.kakaocdn.net/dn/bFP5R9/btrTlr4Pfny/P32R0AIzZUuqFkF6kVOehK/img.jpg)
다음 명령어 수행
$mkdir [폴더명]
$tar -zxvf openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz -C [폴더명]
$echo 'export PATH=$PATH:~/[폴더명]' >> ~/.bashrc && source ~/.bashrc
![](https://blog.kakaocdn.net/dn/KzmQu/btrTjFI3upQ/NQ2DBMlKQAsmB2kxgSLFF0/img.jpg)
위의 명령어 정상적으로 수행되었는지 확인
![](https://blog.kakaocdn.net/dn/bpTGOk/btrThxLZLcM/g8TfRmYxC3AdbzidmZAYk1/img.jpg)
'oc' 명령어 사용 확인
![](https://blog.kakaocdn.net/dn/bS0HWo/btrTjFWCDAQ/l1RVhaiOaqBMJpHtmPl7pK/img.jpg)
접속하고자 하는 Cluster 선택 후, 좌측 상단 '···' 버튼 클릭 후 드롭다운 메뉴에서 '클러스터 정보' 클릭
![](https://blog.kakaocdn.net/dn/dzUw0O/btrThN18Yct/aCrbNbKuhOS8oiNJXRxZWK/img.jpg)
접속 URL 확인
(Orchestration Tool 버전 3.11의 경우, 자동화 툴 콘솔 URL 확인)
![](https://blog.kakaocdn.net/dn/BUndq/btrTqfP79T7/2KYkkE0BmCfpsHVpPk67B1/img.jpg)
(Orchestration Tool 버전 4.xx의 경우, API URL 확인)
![](https://blog.kakaocdn.net/dn/1wpPP/btrTiWK23lt/6etN5pVLSxUmsMk7fX8pUk/img.jpg)
CMD 창에서 'oc login [접속 URL] -u [유저 아이디(초기 접속 시 안내된 아이디 입력)] -p [비밀번호(초기 접속 시 안내된 password 입력)]' 입력
![](https://blog.kakaocdn.net/dn/cfB3ml/btrTsm9g85f/164mmDhnnNUGHZVvg3rEx0/img.jpg)
oc 명령어 사용 가능
![](https://blog.kakaocdn.net/dn/cwkerc/btrTh5If0MW/9342O3s1XMeNMnGKU4P65k/img.jpg)
1-2-2) yum 사용
yum-config-manager' 사용을 위해, 'yum-utils' 설치
$yum install yum-utils
![](https://blog.kakaocdn.net/dn/bgifJp/btrToDjpZE8/KBKbamUujhhhKNbvmrhkAk/img.jpg)
$yum clean all
![](https://blog.kakaocdn.net/dn/skJET/btrTsnAlkoX/NZSJo4ti5Gpn8ojlYSjXPk/img.jpg)
$yum update
![](https://blog.kakaocdn.net/dn/b7mj0A/btrTqDwGj26/6qlDUNYKH9Kwkxi1vbsxk1/img.jpg)
업데이트 완료 확인
![](https://blog.kakaocdn.net/dn/ZqmMk/btrTqfJmPsC/OtJ7x5FkrUxzUI6S5qeUK1/img.jpg)
다시 업데이트 진행
$yum clean all
$yum update
![](https://blog.kakaocdn.net/dn/039xr/btrThIfs8w3/3E6nkUGKapYYQ8pBRjN5Mk/img.jpg)
업데이트 최종 완료
![](https://blog.kakaocdn.net/dn/bmL6bW/btrTiWEgpn8/XvEvJSBuvrdXNRCFkiSPvK/img.jpg)
레포지토리 추가
$yum install centos-release-openshift-origin311.noarch
![](https://blog.kakaocdn.net/dn/oMJ6Y/btrTigiIv7i/vQhDXdUjlcFnzoj7njjNPK/img.jpg)
centos-ansible26 비활성화
$yum-config-manager --disable centos-ansible26
![](https://blog.kakaocdn.net/dn/HAOlq/btrThmDJiQU/qbnlUskCc0zLDXcvoR74Q1/img.jpg)
openshift client 설치
$yum install origin-clients
![](https://blog.kakaocdn.net/dn/cLFT1N/btrTsmnT3If/4iFV5eujbbAebY6G8xsUp1/img.jpg)
접속하고자 하는 Cluster 선택 후, 좌측 상단 '···' 버튼 클릭 후 드롭다운 메뉴에서 '클러스터 정보' 클릭
![](https://blog.kakaocdn.net/dn/bLa1Qj/btrTseQXJL3/xKNa7dddnrbFtvVJXvKfmk/img.jpg)
접속 URL 확인
(Orchestration Tool 버전 3.11의 경우, 자동화 툴 콘솔 URL 확인)
![](https://blog.kakaocdn.net/dn/bhusxr/btrToauL3Bj/7kFZNAKRkQK8p2z4drpXB0/img.jpg)
(Orchestration Tool 버전 4.xx의 경우, API URL 확인)
![](https://blog.kakaocdn.net/dn/TLe5B/btrTmtnO56w/UpbG7osLNlZM28AJ8VPX71/img.jpg)
'oc login [접속 URL] -u [유저 아이디(초기 접속 시 안내된 아이디 입력)] -p [비밀번호(초기 접속 시 안내된 password 입력)]' 입력
![](https://blog.kakaocdn.net/dn/cKZGGH/btrTjFbfKXT/unj4EN1VDzV53wupHb60zk/img.jpg)
oc 명령어 확인
![](https://blog.kakaocdn.net/dn/495Nn/btrThNOA5r5/w8KDJBYeVj7hHO65K5hHa0/img.jpg)
2. Cluster내 기본적으로 제공되는 Docker Repository 사용방법
cluster 내에 기본적으로 설치되는 Docker Repository 사용 방법은 아래와 같습니다.
일단 cluster의 worker node에 ssh로 접속
![](https://blog.kakaocdn.net/dn/8A2yV/btrTh5nXr71/fK1bXuiJTi5DU8frCarjQ0/img.png)
그 뒤, 'oc login [접속 URL] -u [유저 아이디(초기 접속 시 안내된 아이디 입력)] -p [비밀번호(초기 접속 시 안내된 password 입력)]'
'Login successful' 이 뜨며 로그인 성공. 기본적으로 default project를 사용
![](https://blog.kakaocdn.net/dn/bY8b3Y/btrTh43DgAt/7dwkV4hvWDbbKszkipSnG1/img.png)
oc project [프로젝트 명]을 이용하여 원하는 프로젝트를 사용가능
![](https://blog.kakaocdn.net/dn/reYY0/btrTk3poxIy/CxdqrQY0NVzXSPilVJoMK0/img.png)
oc get route 명령어를 통해 Docker Repository 주소 잦기
'docker-registry-default.xxx' 형식
![](https://blog.kakaocdn.net/dn/cuQu5n/btrTlsQeocL/ILlBylrMN3XGHvkMrDK4v1/img.png)
'/etc/sysconfig/docker' 파일 vi로 접속(Read Only 파일이기 때문에, 편집하기 위해 sudo사용)
![](https://blog.kakaocdn.net/dn/b572qB/btrTobULu4S/L1CN4gyi2nVnAOMYLJfI71/img.png)
아래와 같은 화면이 뜨게 되면, --insecure에 해당 docker registry 추가.
(빨간색으로 체크해 놓은 부분)
![](https://blog.kakaocdn.net/dn/3p3ep/btrTiVFnlNY/5gTKHNuONR5RSctxykI8Kk/img.png)
그 뒤 도커 재시작
![](https://blog.kakaocdn.net/dn/cvDrHN/btrTmZmJlOb/33TLZBP7BIIDa7WcmAu8uK/img.png)
재시작 완료 후, docker version 명렁어 사용하여 정상작동 확인
![](https://blog.kakaocdn.net/dn/cREgSs/btrTmtH8a8S/olqUSyIG9hE7xt882zQWXK/img.png)
$docker login [docker registry주소] - u root -p $(oc whoami -t) 명령어 이용하여 docker registry 로그인
![](https://blog.kakaocdn.net/dn/OFbz9/btrTobgau7r/uakefTTmlwHJ4mBjRRLRvk/img.png)
사용예시를 위해 busybox:1.32.1 버전을 dockerhub에서 pull한 뒤, docker images 명령어 이용하여 정상적으로 pull 되었는지 확인
![](https://blog.kakaocdn.net/dn/bfz5y9/btrThk60bXz/bSK1hBSG5lkGPfSNQRXaH1/img.png)
docker tag [기존이미지:tag] [docker registry 주소/namespace/image_name:tag] 사용하여 기존 이미지와 이름만 다른 이미지 생성
![](https://blog.kakaocdn.net/dn/cWbL8D/btrTk1Zrc0n/yAZz9dRv3YgkF6iIBY5r90/img.png)
docker push [docker registry주소/namespace/image_name:tag] 명령어 이용하여 Docker Repository로 push
![](https://blog.kakaocdn.net/dn/blz8qE/btrTmutvJ83/SkBwsgyPrfWOgyTXIepEtk/img.png)
로컬이 아닌, 클러스터에 설치 된 Docker Repository에 이미지가 push 되었는지 확인하기 위하여, 로컬 registry에서 기존 busybox 이미지 모두 삭제 (docker rmi 명령어 사용)
![](https://blog.kakaocdn.net/dn/AW3VW/btrTsmnUa1f/kEKdQCkooBC1fUbwJnIWBK/img.png)
이미지 삭제 후,docker run [Docker-registry주소/namespace/iamge_name:tag] 를 실행하면 다음과 같은 화면이 뜨게 됨
중간에 로컬저장소에서 이미지를 가져올 수 없으니, 클러스터에 설치 된 docker registry에서 pull해서 가져온다는 문구 확인 가능
![](https://blog.kakaocdn.net/dn/ciuwaO/btrTixEydNv/1ifcoJf1BcSStkgBHUAyo0/img.png)
그 뒤 docker ps -a 명령어 사용하여 컨테이너 목록 확인하면, 이미지가 정상적으로 pull 되어 실행되었음을 확인 가능
![](https://blog.kakaocdn.net/dn/ckCNwu/btrTqgnXXYV/rMzwOfE7eJeaF3iRGw6gck/img.png)
'CSP (Cloud Service Provider) > KT Cloud' 카테고리의 다른 글
[KT Cloud] CDN Standard 이용방법( CDN 2.0) (0) | 2022.12.19 |
---|---|
[KT Cloud] CDN Standard (0) | 2022.12.19 |
[KT Cloud] K2P 서비스 생성 (0) | 2022.11.24 |
[KT Cloud] K2P Standard 상품 소개 (0) | 2022.11.07 |
[KT Cloud] DBaaS 소개 (0) | 2022.10.28 |
댓글