테스트환경
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/
'🌴 DevOps > Docker & K8s' 카테고리의 다른 글
쿠버네티스 환경구성(kubeadm.ver)(2/5)- 쿠버네티스/docker 설치 (0) | 2020.05.18 |
---|---|
쿠버네티스 환경구성(kops.ver) - kops 명령어 TroubleShooting (0) | 2020.05.18 |
쿠버네티스 환경구성(kops.ver)(2/2) -쿠버네티스 설정파일 확인 (0) | 2020.05.17 |
쿠버네티스 환경구성(kubeadm.ver)(1/5) - kubeadm 사용 전제조건 (0) | 2020.05.17 |
쿠버네티스 구성요소(5/5)- Namespace 목적 및 특징 (0) | 2020.05.17 |
[Docker4] Docker로 Apache/Tomcat 연결하기(진행) (0) | 2020.05.03 |