Developer 는 소스 저장소, 빌드 및 배포, Image Registry 등을 사용하여 Application 을 개발합니다.
kubectl Command 사용하기
kubectl은 Kubernetes에 접속하여 어플리케이션 배포, 설정 등 다양한 동작을 실행하는 명령어 입니다.
본 문서에서는 Windows 환경에서 binary 방식으로 설치하는 방법을 가이드 합니다.
환경 별 kubectl을 설치법은 아래의 공식 사이트를 참고하시기 바랍니다.
설치 절차 및 상세 절차는 아래 따라하기 내용을 참고 하시기 바랍니다.
- kubectl 파일을 저장할 디렉토리 생성하기
- kubectl 실행파일 다운로드 받기
- Kubernetes 연결 설정을 위한 환경 설정 파일 다운로드 받기
- 전역 환경 변수 설정하기
- kubectl 실행파일 경로 PATH 설정에 추가하기
- 환경 설정 파일 전역환경 변수에 등록하기
따라하기
kubectl 파일을 저장할 디렉토리 생성하기
실행파일을 저장할 디렉토리(폴더)를 윈도우 탐색기를 실행해 생성합니다.
- 경로
- C:\kube
kubectl 실행파일 다운로드 받기
아래 링크를 이용해 kubectl.exe 실행 파일을 처음 생성한 c:\kube
폴더에 다운로드 합니다.
- kubectl v1.11.0
- kubectl v1.13.0
cmd 창을 열고 c:\kube
폴더로 이동해 kubectl version
명령을 확인합니다.
c:\> cd c:\kube c:\kube> kubectl version Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.0", GitCommit:"ddf47ac13c1a9483ea035a79cd7c10005ff21a6d", GitTreeState:"clean", BuildDate:"2018-12-03T21:04:45Z", GoVersion:"go1.11.2", Compiler:"gc", Platform:"windows/amd64"} # 서버 연결설정이 되어 있지 않으면 아래와 같이 오류 메시지가 발생 Unable to connect to the server: dial tcp [::1]:8080: connectex: No connection could be made because the target machine actively refused it.
Kubernetes 연결 설정을 위한 환경 설정 파일 다운로드 받기
ZCP 클러스터에 설치한 kubectl을 이용해 접속하기 위해서는 클러스터 서버정보, 인증토큰 등 관련 설정이 필요합니다. 해당 값은 Kubernetes 설정파일로 관리됩니다.
이러한 접속설정은 CloudZ CP 콘솔에서 다운로드 가능합니다. 우측 상단의 사용자명을 클릭하면 나오는 드롭다운 목록에서 CLI Command 를 선택합니다.
CLI Command 화면에서 2단계의 다운로드 버튼을 클릭합니다.
파일 이름은 kube.conf
파일로 변경하고 c:\kube
폴더에 다운로드 합니다.
다운로드한 kube.conf 파일을 이용해 kubectl 명령을 수행하기 위해서 아래와 같이 명령어를 이용할 수 있습니다.
c:\> cd c:\kube # 설정 파일 사용 여부 설정 c:\kube> set KUBECONFIG=c:\kube\kube.conf c:\kube> kubectl version Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.0", GitCommit:"ddf47ac13c1a9483ea035a79cd7c10005ff21a6d", GitTreeState:"clean", BuildDate:"2018-12-03T21:04:45Z", GoVersion:"go1.11.2", Compiler:"gc", Platform:"windows/amd64"} # 서버 연결이 되면 아래 서버 버전 정보가 표시됩니다. Server Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.10+IKS", GitCommit:"7b8624d43d0e5341ae55537998cddb865607059c", GitTreeState:"clean", BuildDate:"2019-05-08T19:47:50Z", GoVersion:"go1.10.8", Compiler:"gc", Platform:"linux/amd64"}
활성화 하기 위해 set KUBECONFIG=c:\kube\kube.conf 명령을 수행합니다. 이 명령은 cmd 창을 새로 열 때마다 수행해야만 합니다.
kubectl version을 사용하여 클라이언트와 서버 정보가 정상적으로 출력되는지 확인합니다.
전역 환경 변수 설정하기
Window환경에서 어느 위치에서도 사용할 수 있도록 PATH 환경변수에 디렉토리를 등록해야합니다. 그리고 앞에서 받은 kube.conf 파일을 전역 환경 변수에 등록하면 추가 설정없이 명령어를 바로 사용할 수 있습니다.
- PATH는 운영체제가 명령행 또는 터미널 창에서 필요한 실행 파일을 찾는 데 사용하는 시스템 변수입니다.
- 값은 위에서 생성한 kubectl 실행 위치(c:\kube)를 추가합니다.
- KUBECONFIG는 kubectl 명령어 실행시 필요한 kubernetes 환경설정 파일 위치에 대한 시스템 변수입니다.
- 값은 kube.conf 파일명을 포함한 위치(c:\kube\kube.conf)으로 설정 합니다.
설정 방법은 운영체제 버전 별로 아래 방법을 따라가서 수행하면 됩니다.
Windows 10 및 Windows 8
- [검색]에서 시스템(제어판)을 검색하여 선택합니다.
- 고급 시스템 설정 링크를 누릅니다.
- 환경 변수를 누릅니다. 시스템 변수 섹션에서
PATH
환경 변수를 찾아 선택합니다. 편집을 누릅니다.PATH
환경 변수가 존재하지 않을 경우새로 만들기
를 누릅니다. - 시스템 변수 편집(또는 새 시스템 변수) 창에서
PATH
환경 변수의 값을 지정합니다. 확인을 누릅니다. 확인을 눌러 나머지 창을 모두 닫습니다. - 명령 프롬프트 창을 다시 열고 kubectl 코드를 실행합니다.
Windows 7
- 바탕 화면에서 컴퓨터 아이콘을 마우스 오른쪽 단추로 누릅니다.
- 상황에 맞는 메뉴에서 속성을 선택합니다.
- 고급 시스템 설정 링크를 누릅니다.
- 환경 변수를 누릅니다. 시스템 변수 섹션에서
PATH
환경 변수를 찾아 선택합니다. 편집을 누릅니다.PATH
환경 변수가 존재하지 않을 경우새로 만들기
를 누릅니다. - 시스템 변수 편집(또는 새 시스템 변수) 창에서
PATH
환경 변수의 값을 지정합니다. 확인을 누릅니다. 확인을 눌러 나머지 창을 모두 닫습니다. - 명령 프롬프트 창을 다시 열고 kubectl 코드를 실행합니다.
Windows XP
- 시작, 제어판을 차례로 선택합니다. 시스템을 두 번 누르고 고급 탭을 선택합니다.
- 환경 변수를 누릅니다. 시스템 변수 섹션에서
PATH
환경 변수를 찾아 선택합니다. 편집을 누릅니다.PATH
환경 변수가 존재하지 않을 경우새로 만들기
를 누릅니다. - 시스템 변수 편집(또는 새 시스템 변수) 창에서
PATH
환경 변수의 값을 지정합니다. 확인을 누릅니다. 확인을 눌러 나머지 창을 모두 닫습니다.
소스 저장소에 소스 올리기
Gitea 통합로그인 설정
사이드 메뉴에서 DevOps > 소스 저장소 를 클릭합니다.
아래의 화면에서 최초 1회, 소스 저장소에 회원가입을 합니다. 앞으로 별도의 로그인 없이 접속이 가능합니다.
비밀번호는 Push 등 저장소 활용시 사용되므로 분실하지 않도록 주의합니다.
회원가입이 완료되면 OpenId Connect 이미지를 클릭하여 로그인 합니다.
사용법은 Github과 유사하며 웹 화면에서 직접 파일을 생성하거나, 로컬로 체크아웃 하여 작업 할 수 있습니다.
빌드 로그 조회하기
Push된 소스코드는 Pipeline(Jenkins) 을 통해 Kubernetes 클러스터에 배포됩니다.
빌드/배포 과정은 CI/CD Manager 에 의해 진행되지만, 소스코드로 인해 빌드/배포 과정에서 오류가 발생 할 수 있습니다.
이러한 경우 아래의 방법으로 Pipeline의 실행 로그를 확인할 수 있습니다.
Z CP Console > DevOps > 빌드 및 배포 를 클릭하면 Jenkins로 이동고, 조회 권한이 있는 네임스페이스의 폴더가 표시됩니다.
확인하고자 하는 네임스페이스 폴더 > 빌드 Job 을 클릭합니다.
화면 좌측의 Build History 에서 빌드실행 이력을 확인 할 수 있으며, 빌드 번호 좌측의 아이콘을 클릭하면 빌드 로그를 볼 수 있습니다.
Pod 로그 조회하기
빌드/배포가 완료되면 kubernetes에 어플리케이션이 배포 됩니다.
배포된 어플리케이션을 테스트/서비스 하는 과정에서 로그, 배포된 설정을 확인하는 과정이 필요하게 됩니다.
배포된 어플리케이션은 Pod 라는 Kubernetes 내부 리소스로 관리 됩니다.
먼저 kubectl get pod -n (네임스페이스 명)
명령을 통해 로그를 확인하고자 하는 Pod 의 이름을 확인합니다.
kubectl logs (Pod 이름) -n (네임스페이스 명)
명령을 실행하여 로그를 확인합니다.
초기에 출력되는 라인의 수를 지정하기 위해서는 --tail=(line 수)
옵션을 사용합니다.
지속적으로 출력되는 로그를 확인하고 싶을 땐 -f
옵션을 사용합니다.
기타 옵션과 그에 대한 자세한 설명은 kubectl --help
명령을 통해 확인합니다.