연습 - Helm 차트 설치
Helm 차트를 사용하면 Kubernetes 클러스터에 미리 구성된 클라우드 네이티브 앱을 쉽게 설치할 수 있습니다.
이 연습에서는 Helm을 사용하여 Kubernetes 클러스터에 애완 동물 저장소 애플리케이션을 설치합니다.
Helm 차트 배포
Azure Cloud Shell로 이동하여 aks-store-demo 디렉터리에 있는지 확인합니다. 그렇지 않은 경우 .를 사용하여
cd
디렉터리로 변경합니다.cd aks-store-demo
를 사용하여
cd
차트/aks-store-demo 디렉터리로 변경합니다.cd charts cd aks-store-demo
명령을 사용하여 애완 동물 저장소 전면 Helm 차트를 배포합니다
helm install
.helm install aks-store-demo ./aks-store-demo
이 명령은 다음 출력과 비슷한 결과를 반환합니다.
NAME: aks-store-demo LAST DEPLOYED: Tue Feb 20 21:05:51 2024 NAMESPACE: default STATUS: deployed REVISION: 1 NOTES: 1. Get the application URL by running these commands: export POD_NAME=$(kubectl get pods --namespace default -l "app.kubernetes.io/name=aks-store-demo,app.kubernetes.io/instance=storedemo2" -o jsonpath="{.items[0].metadata.name}") export CONTAINER_PORT=$(kubectl get pod --namespace default $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl --namespace default port-forward $POD_NAME 8080:$CONTAINER_PORT
Helm을 사용하면 클러스터에 설치된 모든 릴리스를 쿼리할 수 있습니다. 명령을 사용하여 모든 Helm 릴리스를 나열합니다
helm list
.helm list
이 명령은 다음 출력과 비슷한 결과를 반환합니다.
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION aks-store-demo default 1 2024-02-20 21:05:51.557392349 +0000 UTC deployed aks-store-demo-0.1.0 1.16.0
Helm을 사용하면 각 릴리스와 관련된 매니페스트 정보를 가져올 수 있습니다. 명령을 사용하여
helm get manifest
매니페스트 정보를 가져옵니다.helm get manifest aks-store-demo
이 명령은 다음 압축된 출력과 유사한 결과를 반환해야 합니다.
--- # Source: aks-store-demo-chart/templates/order-service.yaml apiVersion: v1 kind: Secret metadata: name: order-service-secret ... --- # Source: aks-store-demo-chart/templates/rabbitmq.yaml apiVersion: v1 kind: Secret metadata: name: rabbitmq-secret ... --- # Source: aks-store-demo-chart/templates/order-service.yaml apiVersion: v1 kind: ConfigMap metadata: name: makeline-service-configmap ...
명령을 사용하여 Pod가 배포되어 있는지 확인합니다
kubectl get pods
.kubectl get pods -o wide -w
이 명령은 다음 출력과 비슷한 결과를 반환합니다.
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES makeline-service-8747ddb89-j6mvz 1/1 Running 0 6m11s 10.244.2.7 aks-nodepool1-41853373-vmss000001 <none> <none> mongodb-0 1/1 Running 0 6m11s 10.244.2.3 aks-nodepool1-41853373-vmss000001 <none> <none> order-service-7854888498-mlsvv 1/1 Running 0 6m11s 10.244.2.8 aks-nodepool1-41853373-vmss000001 <none> <none> product-service-5d7d4f5c47-gr4sc 1/1 Running 0 6m11s 10.244.2.6 aks-nodepool1-41853373-vmss000001 <none> <none> rabbitmq-0 1/1 Running 0 6m11s 10.244.2.2 aks-nodepool1-41853373-vmss000001 <none> <none> store-admin-894788d77-k5qjw 1/1 Running 0 6m11s 10.244.2.10 aks-nodepool1-41853373-vmss000001 <none> <none> store-front-6749d8579c-xdkv8 1/1 Running 0 6m11s 10.244.2.4 aks-nodepool1-41853373-vmss000001 <none> <none> virtual-customer-76c4bb9b7-dq6lc 1/1 Running 0 6m11s 10.244.2.9 aks-nodepool1-41853373-vmss000001 <none> <none> virtual-worker-56b79f9547-9dkm9 1/1 Running 0 6m11s 10.244.2.5 aks-nodepool1-41853373-vmss000001 <none> <none>
여기까지 마쳤으면
Ctrl+C
를 사용하여 명령을 종료합니다.
Helm 릴리스 삭제
명령을 사용하여 Helm 릴리스를 삭제합니다
helm delete
.helm delete aks-store-demo
이 명령은 다음 출력과 비슷한 결과를 반환합니다.
release "aks-store-demo" uninstalled
설정된 값을 사용하여 Helm 차트 설치
값 매개 변수 또는 사용자 고유 values.yaml
의 파일을 전달하여 Helm 차트의 값을 재정의할 수 있습니다. 지금은 다음 명령을 사용하여 매개 변수를 사용하여 --set
값을 업데이트하는 방법을 확인합니다. 다음 단원에서 파일을 사용하는 values.yaml
방법을 알아봅니다.
매개 변수와 함께
--set
명령을 사용하여helm install
Helm 차트를 설치하여 배포 템플릿을 5개의 복제본(replica) 설정합니다replicaCount
.helm install --set replicaCount=5 aks-store-demo ./aks-store-demo
명령을 사용하여
kubectl get pods
Pod 복제본(replica) 5개가 배포되었는지 확인합니다.kubectl get pods -o wide -w
이 명령은 다음 출력과 비슷한 결과를 반환합니다.
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES aks-store-demo-c8dfddf78-2v8fv 1/1 Running 0 31s 10.244.1.5 aks-nodepool1-41853373-vmss000000 <none> <none> aks-store-demo-c8dfddf78-8t4rq 1/1 Running 0 31s 10.244.2.16 aks-nodepool1-41853373-vmss000001 <none> <none> aks-store-demo-c8dfddf78-h2p8m 1/1 Running 0 31s 10.244.2.15 aks-nodepool1-41853373-vmss000001 <none> <none> aks-store-demo-c8dfddf78-l8qq2 1/1 Running 0 31s 10.244.0.10 aks-nodepool1-41853373-vmss000002 <none> <none> aks-store-demo-c8dfddf78-xwcpw 1/1 Running 0 31s 10.244.0.9 aks-nodepool1-41853373-vmss000002 <none> <none>
여기까지 마쳤으면
Ctrl+C
를 사용하여 명령을 종료합니다.명령을 사용하여 Helm 차트를 삭제합니다
helm delete
.helm delete aks-store-demo