티스토리 뷰

Cloud/Cloud 교육

클라우드 정리(1)

NoonGam 2021. 2. 3. 14:08

 

 

RollOut - 새로운 버전의 배포

RollBack - 이전 버전으로 되돌림

 

 

 

 

 

1. 서비스 그룹 

 

2. kubernetes 클러스트 만들기

노드의 개수 = worker의 개수

노드 크기 = 자원

 

 

3. msaez.io

터미널창 -> az login -> 해당 code 8자리 복사후 -> microsoft.com/devicelogin 컨트롤 클릭    (로그인 세션은 12시간정도 유효)

 

 

 az aks get-credentials --resource-group user09-rsrcgrp --name user09-aks

 

kubectl get all 했을때 아래와 같이 나와야함.

 

az acr login --name user0909 진행

 

 

az aks update -n user09-aks -g user09-rsrcgrp --attach-acr user0909  

 

 

git clone https://github.com/event-storming/container-orchestration.git

 

git clone github.com/acmexii/mall.git

 

kubectl config current-context

 

클러스터 조회 : kubectl get all

worker개수 조회 : kubectl get node 

 

 

-------------------------------------- 1차 세팅 완료 --------------------------------------

 

 

hub.docker.com -> Repositories -> my-nginx -> Tags(탭) 

 

 

명령어 : kubectl create deploykubectl create deploy my-nginx --image=wodonggun/my-nginx:v1

   진행하면 하단의 Deployment,ReplicaSet,Pod 생성해줌.

 

 

외부 배포?

kubectl expose deploy my-nginx --port=80 --type=LoadBalancer

 

 

3개로 배포

kubectl scale deploy my-nginx --replicas=3

 

 

 

 

 

pod(최소한의 배포단위) - 한개의 Container 또는 여러개일 수 있음.

 

 

pod 제거 (지워졌다가 다시 self로 되살아남) - deploy를 제거해줘야함.

kubectl delete pod my-nginx-65d5474c54-cbqwn

 

Deploy 제거 

kubectl delete deploy my-nginx 

 

kubectl delete service my-nginx

 

 

------- 지우고 다시 생성 -------

 

 

kubectl create deploy nginx --image=nginx

 

kubectl expose deploy nginx --port=80

 

전체 제거 (하지만 services/kubernetes는 self로 또 계속 살아남.(메인이기 때문에...?) )

kubectl delete deploy,service --all

kubectl delete deploy,service,pod,hpa --all

 

 

 

------ yaml 활용 ----

1. nano 편집기를 통해 아래와 같이 작성.

yaml을 통한 배포.

kubectl create -f declarative-pod.yaml 

 

yaml변경 사항 적용(다시 배포안하고 update)

kubectl apply -f declarative-pod.yaml 

 

 

MicroService 배포할때마다 yaml을 통해서 이름만바꿔서 배포하기를 권장 (API기반으로 하면 별로임)

 

 

 

 

 

 

 

 

 

kubectl create deploy order --image=order:v1

 

kubectl delete deploy order --image = order:v1  -> 하고 다시 create를 하면 불편함(history 관리가 안됨)

 

kubectl set image deploy order oder=order:v2 -> delete를 진행하지 않고, 바로 v2 deploy

 

order.yaml에서 image=order:v2로 수정하고 apply를 통해서도 가능. 

 

 

 

 

------------------- 실습 ------------------------

 

 

 

kubectl create -f nginx.yaml

 

이미지 새로운 버전으로 배포하기(1)

kubectl set image deploy nginx-deployment nginx-nginx:1.9.1

 

배포 주석 달기(2)

kubectl annotate deploy nginx-deployment kubernetes.io/change-cause="v2 is nginx:1.9.1" 

 

배포주석 조회 

kubectl rollout history deploy nginx-deployment 

 

롤백하기

kubectl rollout undo deploy nginx-deployment

 

 

kubectl apply -f https://k8s.io/examples/application/php-apache.yaml

 

오토스케일링 세팅 ( yaml에서 request에서 200m를 신청했으면, cpu사용률 20%(40m)가 되면 최대10개까지 

kubectl autoscale deployment php-apache --cpu-percent=20 --min=1 --max=10

 

CPU/Memory 사용 조회 

kubectl top no

kubectl top pod 

 

 

------------ 과부하 주기 -----

과부하는 외부에서 주면 자체적으로 차단시킴. 내부로 들어가서 과부하를 줘야함.

 

해당 내부로 접속.

kubectl exec -it siege -- /bin/bash

 

과부하 생성

siege -c30 -t30S -v http://php-apache  (-c30 = 접속유저, -t30S = 30초 동안 실행 )

 

 

 

 

----- namespace -----

kubectl create namespace wdg

 

kubectl create deploy nginx --namespace wdg --image=nginx

 

kubectl get all -n wdg

 

kubectl expose deploy nginx --port=80 --type=ClusterIP -n wdg

 

 

 

 

 

------------------- Volume -------------------------------

 

kubectl get storageclass

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

블록 스토리지 = DB같은 중요한 스토리지

파일 스토리지 = 간단하게 사용한 일반 NAS같은 스토리지

오브젝트 스토리지 = 어디서든지 편하게 사용하는 스토리지

 

 

 

 

 

 

 

-------- 트러블 슈팅 -----------

1. ImagePullBackOff : 생성할때 오타일 확률이 높음.

kubectl describe all 

history 

 

2. CrashLoopBackOff : 

kubectl logs [ pod ] -f

 

3. 명령어를 통해서 해당 Container 내부의 bash로 들어감.

kubectl exec -i -t nginx-b8c7d9dff-n4lwc -- /bin/bash  

 

4. 

 

 

 

'Cloud > Cloud 교육' 카테고리의 다른 글

MSA 이해  (0) 2022.04.08
클라우드 정리(3)  (0) 2021.02.06
클라우드 정리(2)  (0) 2021.02.04
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함