알리 클라우드에 kubernetes 구축하기
알리바바에서 제공하는 기능을 이용해 쿠버네티스를 쉽게 구축하는 방법에 대해 알아보자.
사전 지식
쿠버네티스의 정의
황금방패(중국 인터넷 검열 방화벽)의 정의
ECS 생성하는 방법
중국 인터넷 망에서의 쿠버네티스
앞서 쿠버네티스의 특징을 몇가지 말해보면
1. 구글에서 개발됨
2. 패키지 저장소가 구글 도메인
3. 쿠버네티스의 명령어 중 일부는 내부적으로 구글 도메인에 통신을 하는 구조
4. 업데이트가 빠름
5. 1년마다 쿠버네티스 내부적으로 인증서 갱신 필요
이 정도가 있다.
일반적인 인터넷 환경에서는 문제가 발생하지 않으나, 구글 도메인을 전부 차단해버리는 중국망에서는 쿠버네티스를 쉽게 구축/관리할 수 없다.
결국 직접 구축하려면 중국버전으로 수정된 쿠버네티스를 받아서 쓰거나, 일반망에서 쿠버네티스를 구축한 뒤 중국망으로 디스크를 덤프하는 방법을 써야한다.
쿠버네티스 직접 구축의 어려움 + 지랄맞은 중국망의 콜라보로 작업하기 매우 힘든 상황이 발생한다. (정말 퇴사를 마렵게 하는 작업이다.)
알리 쿠버네티스란?
알리 쿠버네티스는 알리바바 클라우드 환경에서 쿠버네티스를 쉽게 구축/관리할 수 있게 도와주는 서비스이다.
중국망에서 사용할 수 있도록 수정된 쿠버네티스를 사용하며, 쿠버네티스 cluster 스펙만 설정하면 master를 자동으로 만들어주고 master와 worker를 연결/구축까지 자동으로 해준다.
작성 환경
작성일 : 2020년 7월 19일 기준으로 작성. 알리바바에서 웹 UI를 업데이트할 경우 사진과 다르게 보일 수 있음
알리 쿠버네티스 구축하기
알리 쿠버네티스를 구축하는 과정은 리소스 접근 권한 설정 >> cluster 종류 선택 >> cluster 리전/네트워크/OS 설정 >> worker 연결 >> master 비밀번호 설정 >> 플러그인 설정 >> 결재 순으로 이루어진다.
Container Service for Kubernetes 메뉴로 들어간다.
리소스 접근 권한 설정
Container Service for Kubernetes 메뉴에 처음 접근했다면 위 사진처럼 리소스 접근 권한을 설정해달라는 메뉴가 뜬다. Go to RAM console 클릭
Confirm 클릭
cluster 종류 선택
Container Service for Kubernetes 화면의 우측 상단에 있는 Create kubernetes Cluster 버튼 클릭
알리 클라우드에서 지원하는 여러 cluster 종류를 선택할 수 있다. 관리하기 제일 쉬운 cluster는 Standard Managed Cluster이므로 선택해주자.
cluster 리전/네트워크/OS 설정
cluster의 이름을 설정하고 cluster가 위치할 지역을 선택한다. 나중에 같은 지역에 위치한 인스턴스들만 worker로 포함할 수 있기 때문에 신중히 선택하자.
쿠버네티스 버전과 컨테이너 종류를 선택해야한다.
위에서 언급했듯이 중국망에서는 원본 쿠버네티스를 사용하기 힘들기 때문에 중국버전으로 수정된 쿠버네티스를 써야한다.
사진에 나온 aliyun 쿠버네티스가 중국에서 사용할 수 있도록 알리바바에서 직접 쿠버네티스를 수정한 것이다.
필자는 컨테이너를 도커로 선택했다.
cluster가 속할 VPC 네트워크를 선택하고 cluster의 pod, service에서 사용할 IP 대역을 선택해야한다.
주의할 점은 VPC, pod CIDR, service CIDR 이 셋의 범위가 서로 겹쳐서는 안된다.
보통 172.16.0.0/12 대역의 VPC를 사용할텐데 이 경우엔 pod과 service의 IP를 172.16-31.0.0/12-16 대역으로 사용할 수 없다. 범위가 겹치기 때문이다. 게다가 이 경우에는 한 VPC로 cluster를 하나 밖에 만들 수 없다.
VPC가 172 대역이라면 pod CIDR은 10.0.0.0/8로, service CIDR은 192.168.0.0/16로 설정하자.
VPC가 192 대역이라면 pod CIDR, service CIDR을 적당한 172 대역으로 설정하자. 이걸 추천한다.
Public Access 항목의 Expose API Server with EIP 선택
worker 연결
쿠버네티스에서 worker란, cluster에 소속되어 master로부터 명령을 받은 뒤 pod이나 service 등을 실행하는 실제 작업을 하는 서버이다.
이 페이지에서 만들수도 있지만 ECS는 따로 만들어두는 것이 좋다. 아래 링크에서 ECS를 CentOS로 미리 2개 이상 생성해두자.
worker로 사용할 ECS를 만들었다면 Add Existing Instance 클릭
현재 리전의 같은 VPC 내에 존재하는 ECS 목록이 뜬다. worker로 사용할 ECS를 2개 이상 선택한다. 기존에 사용중이던 ECS를 선택하는 것도 가능하다.
※ 주의 : worker로 선택한 ECS는 기존에 사용중이던 디스크가 초기화되며, OS가 CentOS로 변경된다.
worker로 사용하게 되면 현재 사용중인 디스크는 지워지니 알아서 백업해두길 바람. 설정이 끝났으면 Done 버튼 클릭
cluster의 master 인스턴스의 OS와 비밀번호를 설정한다. master의 하드웨어 스펙은 알리바바에서 자동으로 해준다!
OS는 CentOS를 선택하도록 하자. Ubuntu는 사용할 수 없다.
플러그인 설정
플러그인을 설정한다. Prometheus는 유료라길래 제외했다...
결재
앞서 구성한 모든 요소들이 요약되어 나온다. 틀린 정보가 있으면 뒤로가서 다시 구성하자.
모든 설정의 상태가 Passed로 되어있으면 cluster 생성을 완료할 수 있다.
약관에 동의하고 다음 버튼 클릭
cluster 생성이 완료되었다!
알리바바에서 자동으로 쿠버네티스 cluster에 master와 worker를 연결(node join 등)하고 기본적인 플러그인 실행까지 10분 정도 걸린다.
10분뒤 들어가보면 cluster가 정상적으로 시작된 것을 확인할 수 있다.
참고 자료
'Operation > Alibaba cloud' 카테고리의 다른 글
[Alibaba cloud] ECS 인스턴스의 Disk를 초기화하는 방법 (0) | 2021.02.24 |
---|---|
[Alibaba cloud] 알리 클라우드에 Load balancer 설정하기 (0) | 2021.02.14 |
[Alibaba cloud] 알리 클라우드에 lambda 구현하기 (0) | 2020.12.07 |
[Alibaba cloud] ECS 생성하기 (0) | 2019.11.02 |
댓글