Exercise 10.1: Working with Helm and Charts

  1. CP 노드에 연결된 터미널로 이동

  2. Helm 설치

    {
        curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
        chmod 700 get_helm.sh
        ./get_helm.sh
    }
  3. Artifact Hub에 있는 Charts 중에 키워드가 database 인 Chart 검색

    helm search hub database
  4. Helm Repository 추가

    helm repo add ealenn https://ealenn.github.io/charts
  5. Repository가 추가되었는지 확인

    helm repo list
  6. 로컬 Repository 업데이트

    helm repo update
  7. Repository에 있는 Chart 검색

    helm search repo
  8. 위에서 추가한 Repository에 있는 echo-server 차트 설치

    helm install echo-server ealenn/echo-server --debug
  9. 생성된 Pod 및 Service 확인

    kubectl get all -l app.kubernetes.io/name=echo-server
  10. CURL 명령어를 통해서 echo-server Service에 접근

    curl $(kubectl get svc echo-server -o=jsonpath='{.spec.clusterIP}') | jq
  11. 배포된 Helm Release 목록 확인

    helm list
  12. echo-server Release 삭제

    helm uninstall echo-server
  13. 배포된 Helm Release 목록 확인

    helm list
  14. echo-server Chart 설치에 사용된 파일 확인

    find $HOME -name *echo*
  15. echo-server Chart 설치에 사용된 압축 파일 압축 해제

    cd $HOME/.cache/helm/repository && tar -xvf echo-server-*
  16. values.yaml 파일 리뷰

    cat echo-server/values.yaml
  17. 새로운 Helm Chart를 추가하고 파일 다운로드

    {
        cd
        helm repo add bitnami https://charts.bitnami.com/bitnami
        helm fetch bitnami/apache --untar
        cd apache/
    }
  18. values.yaml 파일 리뷰

    cat values.yaml
  19. 다운로드 받은 파일들을 이용해서 Helm Chart 설치

    helm install apache .
  20. 생성된 Pod 및 Service 확인

    kubectl get all -l app.kubernetes.io/name=apache
  21. 생성된 Service 호출

    curl $(kubectl get svc apache -o=jsonpath='{.spec.clusterIP}')
  22. Service의 형식을 ClusterIP로 지정해서 배포

    helm upgrade apache . --set service.type=ClusterIP
  23. Service의 형식이 변경되었는지 확인

    kubectl get svc apache
  24. 배포된 Helm Release 목록 확인

    helm list
  25. apache Release 삭제

    helm uninstall apache
  26. 생성된 Pod 및 Service 확인

    kubectl get all

Last updated