본문 바로가기
자바 , 기타 공부/클라우드 공부

KOPS

by 임지혁코딩 2024. 2. 7.

Kops는, master node까지 관리해야 함을 기억하자. 

(kubernetes cluster를 생성하고 설계하는 역할을 담당한다.)

 

KOPS를 LOCAL에 설치하여, EC2를 통해 MASTER, WORKER NODE를 설정한다. 

 

Instance의 type(ssh,tls등) port numb. 등을 설정할 수 있다. 

(public IP를 제공한다)

 

SSH(보안 protocol)-> 제공하는 pem(키)를 local에 저장하고, 키쌍을 생성하면

제공하는 instance의 ip

 

IAMFull,VPCFull 등 instance의 filter를 관리해주어야 한다. 

이후 Instance의 사용자를 추가해준다. 

이때 발급받은 Accesskey와  Secret Accesskeyid(이는 잘 보호해야 한다) 

 

<CLUSTER 생성>

aws ec2 describe-availability -zones --region us-west-2로  가능한 가용성 영역을 설정한다.

us-west-2는 아마존에서 제공하는 data center 분할 단위이다. 

(실제 us에 있는 것은 아닐 수도 있다) 

 

KOPS CREATE CLUSTER --ZONES (eu-west 2a, eu-west-2c 등등, 가용성영역)

 

이후 ssh를 활용하여 key를 저장하는(서버 인증과 사용자 인증의 권한이 분리되어있다)

 

Kops create secret -- name {} ssh publickey admin (생성한 공개키 pub)

 

이렇게 (설정이 조금 더 필요하지만, 실습이 불가능해 제외하였다)

 

Kops gets ig -- name ${clustername} 을 통해, 각 가용성 영역에 따라 MASTER과 WORKER NODE가 할당된다.

 

출처 - aws qna 

 

만약 영역에 따라 NODE의 수가 2개 밖에 없다면, kops edit ig nodes-eu-west-2a를 통해 변경이 가능하다. 

 

kops update cluster ${NAME} --YES --ADMIN=87600h 과 같은 방식으로 일정 시간동안 CLUSTER를 동작시킨다.

 

각 NODE별로 INSTANCE가 동작함을 기억하자. 

 

INSTANCE를 강제 종료하면 , 이 또한 자동으로 다시 생성된다. 

 

<실제 배포> 

 

1. pv, pvc

YAML 파일로 K8S의 POD 생성 등을 관리함을 기억하자. 

 

*AWS에서는 hostpath를 변경해주어야 한다. (이전 db를 local에 저장하는 위치였다)

+ 이때 추가로 PV(볼륨)의 apiVersion,kind등을 변경해야 한다. 

apiVersion : storage.k8s.io/v1

kind : StorageClass

metadata:

 name:cloud-ssd (pvc의 storageclassname도 맞추어 주어야한다)

provisioiner: kubernetes.io/aws-ebs

parameters:

 type: gp2 

 

이후 본인이 원하는 yaml을 kubectl apply 로 적용시키면 된다. 

 

2.db설정

 db설정은 변경할 내용이 없다. (pv,pvc로 조종하는 형태 였기 때문이다.)

 

3. Service의 변경

 NodePort를 사용할때 30080을 사용했었다. (외부에서 접근하기 위하여) 

그럴 필요 없이 , LoadBalancer로 type을 변경해주면, 자동으로 loadbalancer가 Pod에 분산해준다.

 

LOADBALANCER로 동작하였기 떄문에, 아마존 측에서 AMAZON DNS ENTRY를 통해

도메인 주소를 제공해준다. 

 

<도메인 주소 변경>

SERVICE-RESOURCEGROUPS로 DOMAIN을 구매할 수 있다.

 

 

 

'자바 , 기타 공부 > 클라우드 공부' 카테고리의 다른 글

yaml 파일 연습  (0) 2024.02.21
AWS  (0) 2024.02.06
퍼시스턴트  (0) 2024.02.06
마이크로서비스(MSA) 네트워킹  (0) 2024.02.05
쿠버네티스 네트워킹  (1) 2024.02.04