본문 바로가기
🌴 DevOps/Docker & K8s

쿠버네티스 환경구성(kops.ver)(1/2) -클러스터/노드 구성

by 카프리썬_ 2020. 5. 17.
728x90
728x90

테스트환경

aws ec2 인스턴스에서 도커컨테이너 (우분투16.04)사용

 

(추가) 이미 컨테이너 생성한 후라면, 해당 컨테이너에 접속하기
docker 명령어 참고

컨테이너 검색 : docker -ps | grep kops

컨테이너 시작 : docker start kops

컨테이너 접속 : docker attach kops

 

1. kops를 사용할 도커컨테이너 생성 (컨테이너이름 : kops)

docker run -it -name kops ubuntu:16.04

 

2. 우분투 컨테이너 안에서 패키지 설치

apt update && apt install python3 python3-pip wget vim openssh-server -y

 pip3 install awscli 

3. kops, kubetl 다운로드, 실행권한 추가, 위치옮김

wget -O kops https://github.com/kubernetes/kops/releases/download/1.10.0/kops-linux-amd64

chmod +x ./kops

mv ./kops /usr/local/bin/ 

wget -O kubectl https://storage.googleapis.com/kubernetes-release/release/v1.11.2/bin/linux/amd64/kubectl

chmod +x kubectl 

mv kubectl /usr/local/bin/

 

kubectl 설치확인 : kubectl version

 

 

4. aws 계정을 사용하기위해 iam Role 추가

IAM에 대한 액세스키, 시크릿키 설정

aws configure

 

필요한 Role

AmazonEC2FullAccess

AmazonRoute53FullAccess

AmazonS3FullAccess

IAMFullAccess

AmazonVPCFullAccess

 

현재 AdminFulAccess로 IAM으로 테스트 진행

 

환경변수로 시크릿키, 액세스 키 export

 

4. DNS 설정

kops 1.5.2 버전이상에선 dns 설정을 위한 route53 도메인 필수x (gossip기반의 dns 디스커버리사용)

어차피, 실제 서비스환경에서는 도메인 필요

테스트환경에서는 도메인사용x

 

5. s3 버킷생성

쿠버네티스 클러스터 설정정보를 저장할 s3 버킷 생성

버킷명 : k8s-kopstest-bucket

 

환경변수로 클러스터이름(Name), s3정보(KOPS_STATE_STORE) export 

이게 앞에 있어야지 이 변수가지고 ${NAME} 지칭

 

6. ssh 키 쌍 생성

kops가 생성할 ec2 인스턴스의 ssh 키

ssh-keygen

해당디렉토리로 가면 키 확인가능

 

7. 쿠버네티스 설정파일 생성 : kops create cluster 명령어

kops create cluster --zones ap-northeast-2a ${NAME}

밑으로 쭉 나오는 건 클러스터에 대한 설정파일 정보들

자동으로 클러스터에 필요한 컴포넌트들을 생성해줌

아직 클러스터를 구축하지 않은 상태(dry run)

 

참고) 클러스터 삭제 : kops delete cluster --name ${NAME} --yes

--yes를 입력하지 않으면 dry run

클러스터 삭제해도 s3버킷은 남음

 

만약, 이 설정파일로 클러스터를 구축한다면 생성 될 노드구성 확인/변경 

8. 클러스터 노드구성 확인 : kops get ig --name  ${NAME} 

기본적으로 master-ap-northeast-2a 노드 1개와 nodes 노드 2개가 설정 파일에 정의

 

8. 클러스터 노드구성 변경 : kops edit cluster ${NAME} 

 

9. 노드구성 변경 : kops edit ig nodes --name ${NAME} 

확인/변경해서 이제 변경사항이 확정이 되면 클러스터 노드 구축하기 확정!

 

10 . 클러스터 노드 구축하기 : kops update cluster --yes ${NAME} 

 

11. 노드 확인가능 : kubectl get nodes

 

결과

이렇게 만든 구성한 클러스터들의 결과가 aws console에서 확인가능

이유 : 설정파일로 만들었기 때문

어떻게 구성되었는지 설정파일 하나씩 파헤치기

 

 

 

참고

https://blog.2dal.com/2019/04/24/kubernetes-03-kubernetes-cluster-on-aws-with-kops/

 

Kubernetes 03 - Kubernetes Cluster on AWS with kops | asbubam's blog on 2dal.com

지난 글 Kubernetes 02 – ReplicaSet에 이어 kops를 사용해서 AWS 환경에서 Kubernetes (이하 K8s) Cluster를 구성해보자. kops/kops_create_cluster 문서에 kops의 사용법이 쉽게 설명되어 있지만, 사내 망등의 Internal Net

blog.2dal.com

https://m.blog.naver.com/PostView.nhn?blogId=alice_k106&logNo=221341984607&proxyReferer=https:%2F%2Fwww.google.com%2F

 

146. [Kubernetes] kops를 이용해 AWS에서 쿠버네티스 설치하기 (gossip 이용)

이번 포스트에서는 AWS에서 쿠버네티스를 사용할 수 있는 방법 중 하나인 kops를 설명한다. 1. kops (K...

blog.naver.com

 

 

728x90
반응형