DevOps/kubernete

[kubernete] Kops 설치 및 AWS 준비하기

soohey 2022. 5. 22. 22:42

쿠버네티스 클러스터를 실행하기전 kops를 설치하고 AWS에 도메인을 등록합니다. :D

Freenom을 통해 무료 도메인을 생성한 후 AWS에서 생성된 네임서버를 연결할 것입니다.

 

해당 내용은 udemy 강의 리뷰를 이어갑니다.

 

Kops

  • 쿠버네티스 운영의 약자입니다.
  • aws에서 쿠버네티스를 설정하기 위한 툴입니다.
  • 이 툴을 사용해 프로덕션에서 유용한 쿠버네티스 설치, 업그레이드 및 관리를 수행할 수 있습니다.
  • kops는 맥/리눅스에서만 작동하므로 윈도우 사용시 가상머신을 부팅해야합니다.
  • vagrant를 사용해 리눅스 박스를 빠르게 부팅할 수 있습니다.
  • 시각화를 위한 virtualbox와 새로운 리눅스 박스의 스핀 업을 위한 vagrant 둘 다 필요합니다.

1. vagrant 설치하기

https://www.vagrantup.com/downloads

 

Vagrant by HashiCorp

Vagrant enables users to create and configure lightweight, reproducible, and portable development environments.

www.vagrantup.com

 

virtual-box를 설치했다고 가정하고 진행합니다.

설치되지 않았을 경우 이전글을 읽고 설치하고 와주세요.

 

>> mkdir ubuntu
>> cd ubuntu
>> vagrant init ubuntu/xenial64
>> vagrant up
  • ubuntu 파일을 새로 생성한 뒤 vagrant init으로 vagrantfile을 생성합니다.
  • vagrant up을 실행하여 virtual box를 사용해 {ubuntu/xenial64} 상자를 설정합니다.

 

Windows 환경에서 ssh에 로그인 하려면 puttyGen과 putty를 사용해 private_key를 .ppk로 변환한 후 ubuntu로 로그인하여야 합니다. (다양한 방법이 존재하지만 비교적 간단한 방법으로 시도해보겠습니다.)

 

 

2. Windows에서 puttyGen, putty로 ssh 접속하기

https://leegaworld.tistory.com/376

 

  • puttyGen 설치후, Load해서 private_key를 선택합니다.
  • 보통 .vagrant -> machines -> default -> virtualbox -> {priavte_key} 에 존재합니다.
  • Save private key를 선택한 후 private_key.ppk로 저장합니다.
  • 여기서 중요한 것은 .ppk 확장자로 저장하는 것입니다.
  • 이름은 원하는 것으로 작성하셔도 괜찮습니다.

 

private_key.ppk가 있다면 이제 putty로 들어가 ssh 환경으로 로그인하는 것이 가능합니다.

  • vagrant IP address : 127.0.0.1
  • Port : 2222
  • ssh id : vagrant

 

 

 

3. kops 설치하기

 

$ wget https://github.com/kubernetes/kops/releases/download/v1.23.2/kops-linux-amd64
$ chmod +x kops-linux-amd64
$ sudo mv kops-linux-amd64 /usr/local/bin/
$ sudo apt-get install python-pip
$ sudo pip install awscli
  • python-pip는 AWS에서 클러스터를 설정하기 전에 필요한 AWS 명령줄 유틸리티인 AWS를 설치할 수 있게 합니다.
  • awscli는 AWS라는 명령줄 유틸리티를 사용할 수 있게 합니다. 
  • {aws}를 입력시 {aws}로 명령을 실행할 수 있습니다.

 

오류상황 : Unable to locate package python-pip 

python-pip 설치 오류시 apt-get update를 시도해보세요.

$ sudo apt-get install software-properties-common
$ sudo apt-get update

 

 

 

4. AWS 계정 생성

 

>> aws configure
>> ls -ahl ~/.aws/
  • 액세스 키와 비밀 액세스 키를 입력합니다.

 

  • S3로 이동하여 버킷 생성하기
  • 버킷 이름은 고유해야 하기에 랜덤상수를 붙여 생성합니다. (공백이 없어야합니다.)

 

 

route 53으로 이동해 도메인의 네임서버 생성(레코드 생성)하기.

레코드를 등록하기 전에 도메인이 있어야 합니다. 저는 Freenom에서 무료로 도메인을 생성했습니다. 

https://studyforus.tistory.com/205

 

Freenom 도메인 등록부터 네임서버 변경까지

Freenom 도메인 등록 후 DNSzi로 네임서버 변경하기 블로그를 방문해 주시는 분들 중에는 꽤나 많은 분들이 무료 국가 최상위 도메인을 알아보고 찾아오는 분들이 많습니다. 하지만 도메인 등록과

studyforus.tistory.com

  • 레코드 이름 : 도메인
  • value : 네임 서버, 하위 도메인입니다.

 

Kobs는 하위 도메인을 관리합니다. Kobs가 하위 도메인을 관리하기 위해서는 route 53에서 호스팅 영역을 생성하여 네임 서버를 만드는 것이 전제되어야 합니다.

생성된 네임서버는 도메인에 연결시켜야 합니다. 저는 soohey.tk라는 도메인에 연결해야 하므로 Freenom에서 네임서버를 등록해주면 됩니다.

 

 

네임서버가 제대로 설정됐는지 확인하기

>> sudo apt install bind9-host
>> host -t NS {도메인}

NS는 네임서버를 의미합니다.

아래처럼 등록한 네임서버가 나타나면 연결 완료입니다.\