쿠버네티스를 설치해보자~
여기서는 AWS에 쿠버네티스를 설치해 사용해보자 (아마존 EKS가 아니다)
Master와 node 모두 사용자가 관리한다.
실습 1-3. KOPS로 AWS에 쿠버네티스 설치
https://brunch.co.kr/@topasvga/1649
1
터미널 2에서 모니터링 걸어 놓기
watch -d kubectl get deploy,svc,ep,pod,svc,rs
2
Deployment 생성
kubectl create -f - 는 바로 실행하라는 명령어
cat <<EOF | kubectl create -f -
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app.kubernetes.io/name: load-balancer-example
name: deployment-2048
spec:
replicas: 2
selector:
matchLabels:
app.kubernetes.io/name: app-2048
template:
metadata:
labels:
app.kubernetes.io/name: app-2048
spec:
containers:
- image: alexwhen/docker-2048
name: app-2048
ports:
- containerPort: 80
EOF
3
디플로이먼트 이름은 deploy 이름 확인 = deployment-2048
k get deploy
NAME READY UP-TO-DATE AVAILABLE AGE
deployment-2048 5/5 5 5 18m
4
lb 생성
lb 이름을 my-service로 함
kubectl expose deployment deployment-2048 --type=LoadBalancer --name=my-service
(3분 소요)
5
kubectl get services my-service
6
브라우저로 접속 확인
참고 자료
https://kubernetes.io/ko/docs/tutorials/stateless-application/expose-external-ip-address/
1
ops-view 설치해 현황 모니터링 (실행후 5분 소요)
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
helm version --short
helm repo add stable https://charts.helm.sh/stable
helm install kube-ops-view stable/kube-ops-view --set service.type=LoadBalancer --set rbac.create=True
2
모니터링
watch -d kubectl get deploy,svc,ep,pod,svc,rs
3
확인
웹브라우저에서
service/kube-ops-view 의 EXTERNAL-IP 로 접속
kube-ops-view 상세 설정법
https://brunch.co.kr/@topasvga/1867
4
route53에서 cname 설정해 접속하기
5
Pod를 늘려보자~
kubectl scale deployment deployment-2048 --replicas=10
kubectl scale deployment deployment-2048 --replicas=20
6
쿠버네티스는 master node 와 work node 2개가 있다.
따라서, 오토스케일링 그룹 2개 이다.
콘솔에서 2개가 보인다.
EC2 > Auto Scaling 그룹
7
Master node 수는 따로 변경작업을 하지 않기 바란다.
Master에 접속이 안된다 - -
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:VzpGJMmquGGkimlo2oHYirPJ9J3FNA2+etIu2l8jKq0.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /root/.ssh/known_hosts:1
ECDSA host key for api.seo31.cndk.k8s has changed and you have requested strict checking.
Host key verification failed.
8
work node 수 늘리기
오토스케일링 그룹 이름을 알아야 한다
콘솔에서 woker node 이름 확인
nodes-ap-xxxxxxxxxxxxxxxxx
9
aws cli 설치하기
sudo apt install awscli
10
리전 설정 - 여기서는 도쿄로 설정한다. ap-northeast-1
aws configure
엔터
엔터
ap-northeast-1
엔터
11
AWS 웹 콘솔에서 Auto Scaling group name 확인 ?
다음은 Auto Scaling group 2개, 1개는 master , 하나는 node 그룹
master-ap-northeast-1a.masters.seo32.cndk.k8s
nodes-ap-northeast-1a.seo32.cndk.k8s
12
work node name 확인 ?
ASG ( Auto Scaling Group)이름 ?
ASG_NAME=nodes-ap-northeast-1a.seo32.cndk.k8s
echo ${ASG_NAME}
13
node가 4개가 되도록 변경 한다.
aws autoscaling update-auto-scaling-group --auto-scaling-group-name ${ASG_NAME} --min-size 2 --desired-capacity 4 --max-size 6
14
2분 후 node 증가 확인
kubectl delete deployment deployment-2048
아니면 디프롤이먼트 전체 삭제 , 서비스 전체 삭제
kubectl delete deployment --all
k delete service --all
// ops-view도 모두 삭제 되니 참고
<10> 기타- 노트북에 kubernetes 설치법 (연습용)
https://brunch.co.kr/@topasvga/1682
https://brunch.co.kr/@topasvga/1927
https://brunch.co.kr/@topasvga/1656
https://brunch.co.kr/@topasvga/1929
감사합니다.