티스토리 뷰

 

아마존 AWS CLI 구성을 Mobaxterm local 모드를 사용하여 연결해 보자. 필자는 리눅스 콘솔 환경이 CMD 보다 편하기 때문이다. 그런 이유로 윈도우 환경에서 리눅스처럼 사용하기 위해 Mobaxterm을 사용한다. 약간의 제약이 있지만 Free 버전으로도 충분하다.

1. Mobaxterm 다운로드 및 설치

Mobaxterm install 버전 이어야 한다. portable 버전 일 경우 설정한 local 데이터가 유실되기 때문에 꼭 install 버전으로 진행해야 한다.

mobaxterm.mobatek.net/download-home-edition.html

 

MobaXterm free Xserver and tabbed SSH client for Windows

The ultimate toolbox for remote computing - includes X server, enhanced SSH client and much more!

mobaxterm.mobatek.net

 

2. AWS CLI 다운로드 및 설치

awscli.amazonaws.com/AWSCLIV2.msi

 

3. kubectl 다운로드 및 설치

amazon-eks.s3.us-west-2.amazonaws.com/1.15.10/2020-02-22/bin/windows/amd64/kubectl.exe

 

4. kubectl PATH 설정

Mobaxterm local 모드를 실행하고 home 경로에서 open . 명령어를 치면 Mobaxterm home 경로가 탐색기로 열린다. Mobaxterm home 경로에 .kube 폴더 생성하고 다운로드한 kubectl.exe 파일을 이동시킨다.

일반적인 home 경로는 아래와 다음과 같다. "C:\Users\%USERNAME%\Documents\MobaXterm\home"

 

파일 이동이 완료됐으면 환경변수 설정을 추가해줘야 한다.

시스템 속성 -> 환경 변수 -> 편집을 통해 kubectl.exe 파일 위치를 등록하면 된다.

 

5. Mobaxterm 환경 변수 연결 설정

Mobaxterm에서 윈도우 시스템 환경 변수를 사용하기 위해서는 간단한 옵션 체크만 하면 된다.

Settings -> Configuration -> Terminal (Use Window PATH 체크)

설정 완료 이후 Mobaxterm을 재 실행하면 적용된다.

 

6. AWS Access Key 생성

AWS 로그인 후 "내 보안 자격 증명"을 선택한다. 이후 액세스 키를 만들면 활성화하면 된다. 액세스 키는 언제든지 볼 수 있지만 암호 액세스 키는 생성시점에만 확인이 가능하기 때문에 관리가 필요하다.

 

7. Mobaxterm local aws configure 등록

aws configure 명령어를 통해 자격 증명을 등록할 수 있다. 할당받은 액세스 키와, 암호 액세스 키를 등록하면 된다.

 

AWS 홈페이지 aws configure 예시

 

8. kubectl config 생성 및 설정

Amazon EKS Kubeconfig를 만드는 방법은 2가지가 있다. 직접 만들거나, 자동 생성이다.

직접 만들 경우
Mobaxterm home 경로에 .kube 폴더 하위 경로에 config 파일을 만들어야 한다.

apiVersion: v1
clusters:
- cluster:
    server: <endpoint-url>
    certificate-authority-data: <base64-encoded-ca-cert>
  name: kubernetes
contexts:
- context:
    cluster: kubernetes
    user: aws
  name: aws
current-context: aws
kind: Config
preferences: {}
users:
- name: aws
  user:
    exec:
      apiVersion: client.authentication.k8s.io/v1alpha1
      command: aws
      args:
        - "eks"
        - "get-token"
        - "--cluster-name"
        - "<cluster-name>"
        # - "--role"
        # - "<role-arn>"
      # env:
        # - name: AWS_PROFILE
        #   value: "<aws-profile>"

<endpoint-url>는 클러스터에 엔드포인트 url로 대체한다.

<base64-encoded-ca-cert>는 클러스터에 대해 생성한 certificateAuthority.data로 대체한다.

<cluster-name>는 클러스터 사용자 이름으로 대체한다.

세부 대체 값은 AWS에서 EKS(Elastic Kubernetes Service)에서 클러스터 세부 정보에서 확인이 가능하다.

 

또한 Mobaxterm home 경로에 .bashrc 파일을 생성하여 아래 정보를 저장해야 한다.

alias k=kubectl
KUBECONFIG=C:/Users/%USERNAME%/Documents/MobaXterm/home/.kube/config

 

자동생성의 경우
EKS 클러스터 정보를 참조하여 명령어로 생성된다.

 

9. kubectl 연결 테스트

.bashrc 파일에서 alias를 설정했으면 k명령어로 kubectl을 대체할 수 있다. 일반적으로 k로 alias를 걸어서 사용한다.

 

이로써 AWS CLI 구성에서 kubectl 접속까지 확인해 보았다. 접속 설정을 Mobaxterm local로 하였지만, 일반적인 CMD로도 가능하기 때문에 응용해서 환경에 맞게 적용하면 된다.

다음 시간에는 kubectl에서 사용되는 명령어를 몇 가지 알아보자.

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함