나는 Developer 입니다.

Print

Developer 는 소스 저장소, 빌드 및 배포, Image Registry 등을 사용하여 Application 을 개발합니다.

kubectl Command 사용하기

kubectl은 Kubernetes에 접속하여 어플리케이션 배포, 설정 등 다양한 동작을 실행하는 명령어 입니다.

본 문서에서는 Windows 환경에서 binary 방식으로 설치하는 방법을 가이드 합니다.

환경 별 kubectl을 설치법은 아래의 공식 사이트를 참고하시기 바랍니다. 


설치 절차 및 상세 절차는 아래 따라하기 내용을 참고 하시기 바랍니다. 

  1. kubectl 파일을 저장할 디렉토리 생성하기 
  2. kubectl 실행파일 다운로드 받기 
  3. Kubernetes 연결 설정을 위한 환경 설정 파일 다운로드 받기
  4. 전역 환경 변수 설정하기
    1. kubectl 실행파일 경로 PATH 설정에 추가하기
    2. 환경 설정 파일 전역환경 변수에 등록하기 


따라하기

kubectl 파일을 저장할 디렉토리 생성하기 

실행파일을 저장할 디렉토리(폴더)를 윈도우 탐색기를 실행해 생성합니다.

  • 경로
    • C:\kube

 


kubectl 실행파일 다운로드 받기 

아래 링크를 이용해 kubectl.exe 실행 파일을 처음 생성한 c:\kube 폴더에 다운로드 합니다.


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

  1. [검색]에서 시스템(제어판)을 검색하여 선택합니다.
  2. 고급 시스템 설정 링크를 누릅니다.
  3. 환경 변수를 누릅니다. 시스템 변수 섹션에서 PATH 환경 변수를 찾아 선택합니다. 편집을 누릅니다. PATH 환경 변수가 존재하지 않을 경우 새로 만들기를 누릅니다.
  4. 시스템 변수 편집(또는 새 시스템 변수) 창에서 PATH 환경 변수의 값을 지정합니다. 확인을 누릅니다. 확인을 눌러 나머지 창을 모두 닫습니다.
  5. 명령 프롬프트 창을 다시 열고 kubectl 코드를 실행합니다.

Windows 7

  1. 바탕 화면에서 컴퓨터 아이콘을 마우스 오른쪽 단추로 누릅니다.
  2. 상황에 맞는 메뉴에서 속성을 선택합니다.
  3. 고급 시스템 설정 링크를 누릅니다.
  4. 환경 변수를 누릅니다. 시스템 변수 섹션에서 PATH 환경 변수를 찾아 선택합니다. 편집을 누릅니다. PATH 환경 변수가 존재하지 않을 경우 새로 만들기를 누릅니다.
  5. 시스템 변수 편집(또는 새 시스템 변수) 창에서 PATH 환경 변수의 값을 지정합니다. 확인을 누릅니다. 확인을 눌러 나머지 창을 모두 닫습니다.
  6. 명령 프롬프트 창을 다시 열고 kubectl 코드를 실행합니다.

Windows XP

  1. 시작, 제어판을 차례로 선택합니다. 시스템을 두 번 누르고 고급 탭을 선택합니다.
  2. 환경 변수를 누릅니다. 시스템 변수 섹션에서 PATH 환경 변수를 찾아 선택합니다. 편집을 누릅니다. PATH 환경 변수가 존재하지 않을 경우 새로 만들기를 누릅니다.
  3. 시스템 변수 편집(또는 새 시스템 변수) 창에서 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 명령을 통해 확인합니다.

이 답변이 유용합니까? 아니오

Send feedback
도움이 되어드리지 못해 죄송합니다. 아티클 개선을 위해 의견을 제공해 주시기 바랍니다.