📂
Amazon EKS
  • Amazon EKS
  • 워크스페이스 생성하기
    • Cloud9 IDE 환경 구성
    • IAM 역할 생성
    • SSH & CMK Key 생성하기
  • EKS 클러스터 구축
    • EKS 클러스터 만들기
  • 쿠버네티스 대시보드 배포
    • Kubernetes 공식 대시보드 배포
  • 마이크로서비스 배포
    • 예제 애플리케이션 배포
    • 서비스 스케일(Scaling)
    • 애플리케이션 정리하기
  • 애플리케이션 배포 - Helm
    • HELM 설치
    • Helm으로 Nginx 배포
    • Helm을 사용하여 마이크로서비스 배포
    • 정리하기
  • 리소스 관리 - POD 배치
    • NodeSelector
    • Affinity and Anti-affinity
    • 더 실용적인 사용 사례
    • 정리하기
  • 리소스 관리 - Health Checks
    • Liveness 프로브 구성
    • Readiness 프로브 구성
    • 정리하기
  • 리소스 관리 - AutoScaling
    • HPA 구성하기
    • CA 구성하기
    • 정리하기
  • 네트워킹 - 서비스 노출
    • 서비스와 애플리케이션 연결
    • 서비스에 접근하기
    • 서비스 노출
    • Ingress
    • Ingress Controller
    • 정리하기
  • 네트워크 - Calico 정책
    • Calico 설치하기
    • Stars Policy Demo
    • 정리하기
  • Updating 권한설정 - RBAC
    • 테스트 POD 설치
    • 사용자 생성 및 맵핑
    • 역할과 바인딩
    • 정리하기
  • Updating 권한설정 - IAM 그룹
    • IAM Role, Group & User 생성하기
    • RBAC 설정하기
    • EKS 엑세스 테스트
    • 정리하기
  • Updating 권한설정 - Service account
    • OIDC 자격 증명 공급자 생성하기
    • IAM 역할 생성 및 지정
    • 샘플 POD 배포
    • 정리하기
  • Updating - 네트워크 - POD Security Group
    • SG 생성하기
    • RDS 생성하기
    • CNI 구성하기
    • SG 정책
    • Pod 배포하기
    • 정리하기
  • Updating - 모니터링 - Prometheus and Grafana
    • Prometheus 배포하기
    • Grafana 배포하기
    • 정리하기(Optional)
  • Updating 모니터링 - X-Ray
    • X-Ray DaemonSet 배포하기
    • 샘플 마이크로서비스 배포
    • X-Ray console 확인
    • 정리하기(Optional)
  • Updating 모니터링 - Container Insights
    • 사전 준비
    • Container Insights 구성하기
    • 부하 테스트
    • Container Insights 확인하기
    • 정리하기(Optional)
  • Updating CD - Gitops with Flux
    • 사전 준비
    • Codepipeline
    • EKS에 배포
    • 정리하기
  • Updating Argo Rollouts
  • Updating Service Mesh - AWS App Mesh
    • Fargate 및 OBSERVABILITY 구성
    • Product Catalog App 배포
    • APP MESH 설치
    • Porting to APP MESH
    • Virtual Gateway 구성
    • Canary
    • Observability
  • Updating 버전 업그레이드 - EKS Cluster
    • Upgrade EKS control Plane
    • Upgrade EKS CORE ADD-ONs
    • Upgrade Managed Node Group
Powered by GitBook
On this page
  • 1. 차트 저장소 업데이트
  • 2. 차트 저장소 검색
  • 3. Bitnami 저장소 추가
  • 4. bitnami/nginx 설치
  • 5. 정리하기

Was this helpful?

  1. 애플리케이션 배포 - Helm

Helm으로 Nginx 배포

NGINX 웹 서버를 설치하는 방법을 실습합니다.

PreviousHELM 설치NextHelm을 사용하여 마이크로서비스 배포

Last updated 3 years ago

Was this helpful?

1. 차트 저장소 업데이트

Helm은 라는 패키징 형식을 사용합니다. 차트는 쿠버네티스 리소스를 설명하는 파일과 템플릿들의 모음집 입니다.

차트는 독립형 웹 서버를 기술하는 것과 같이 간단한 것 부터 웹 서버를 포함한 전체 웹 애플리케이션 스택, 데이터베이스, 프록시 등을 나타내는 것과 같이 더 복잡한 것을 다룰 수 있습니다.

kubectl을 통해 쿠버네티스 리소스를 수동으로 설치하는 대신 Helm을 사용하여 오류나 다른 가능성을 줄이면서 사전 정의 된 차트를 더 빠르게 설치할 수 있습니다.

차트 저장소는 업데이트 및 새롭게 추가되는 기능으로 인해 자주 변경됩니다. Helm의 로컬 목록을 이러한 모든 변경 사항으로 업데이트 되도록 유지하기 위해 명령을 실행 해야 합니다.

Helm의 로컬 차트 목록을 업데이트 하려면 다음을 실행하십시오.

# first, add the default repository, then update
helm repo add stable https://charts.helm.sh/stable
helm repo update

2. 차트 저장소 검색

helm search repo

출력에서 우리가 추가 한 모든 차트 목록을 확인 할 수 있습니다. 키워드를 포함하여 훨씬 더 유용한 검색을 할 수 있습니다.

다음으로 nginx 웹 서버 차트를 검색합니다.

helm search repo nginx

그 결과는 다음과 같습니다.

3. Bitnami 저장소 추가

이전 단계에서 NGINX가 기본 Helm 차트 저장소를 통해 여러개의 다른 제품을 제공하는 것을 알 수 있었습니다. NGINX 독립형 웹 서버는 그 중 하나 입니다.

검색 가능한 차트의 로컬 목록에 Bitnami 차트 리포지토리를 추가 하기 위해 아래 명령어를 수행합니다.

helm repo add bitnami https://charts.bitnami.com/bitnami

완료되면 모든 Bitnami 차트를 검색 할 수 있습니다:

helm search repo bitnami

nginx를 다시 한 번 검색하면:

helm search repo nginx

이제 두 저장소에서 더 많은 nginx 옵션을 볼 수 있습니다.

nginx에 대해 Bitnami 저장소에서 검색할 수 도 있습니다.

helm search repo bitnami/nginx

우

NAME                                    CHART VERSION   APP VERSION     DESCRIPTION
bitnami/nginx                           5.1.6           1.16.1          Chart for the nginx server
bitnami/nginx-ingress-controller        5.3.4           0.29.0          Chart for the nginx Ingress...

In both of those last two searches, we see

bitnami/nginx

as a search result. That’s the one we’re looking for, so let’s use Helm to install it to the EKS cluster.

다른 방법으로 nginx에 대해 Bitnami 저장소에서 검색 하여 검색 범위를 좁힐 수 있습니다.

helm search repo bitnami/nginx

검색 결과에서 실습에 필요한 nginx를 찾았으므로, Helm을 사용하여 EKS 클러스터에 설치합니다.

4. bitnami/nginx 설치

Helm 차트는 쿠버네티스 클러스터 내에 여러 번 설치 할 수 있습니다. 이것은 차트의 설치가 사용자 별로 다른 목적에 맞게 변경 할 수 있기 때문 입니다. 따라서 설치 시 고유한 이름을 제공해야 합니다.

helm install mywebserver bitnami/nginx

이 명령을 실행하면 출력에 다음과 같은 유사한 배포 상태, 개정, namespace 등에 대한 정보가 포함 됩니다.

기본 쿠버네티스 서비스, Pod 및 배포를 검토 하려면 다음을 실행 합니다.

kubectl get svc,po,deploy

다음kubectl 명령 예제에서 각 개체의 ‘DESIRED’및 ‘CURRENT’값이 일치 하는데 1,2분 정도 걸릴 수 있습니다. 첫 번째 시도에서 일치하지 않으면 몇 초간 기다린 다음 명령을 다시 실행하여 상태를 확인 하십시오.

다음 명령을 실행 하여 Deployment 객체를 더 자세히 확 할 수 있습니다.

kubectl describe deployment mywebserver

Pod 객체가 성공적으로 배포되었는지 확인하기 위해 다음 명령을 실행 할 수 있습니다.

kubectl get pods -l app.kubernetes.io/name=nginx

이 Service의 전체 URL을 얻으려면 다음을 실행하십시오:

kubectl get service mywebserver-nginx -o wide

다음과 유사한 출력이 표시됩니다. EXTERNAL-IP의 값을 복사하고 웹 브라우저에서 새 탭에 붙여 넣습니다.

ELB 및 관련 DNS 이름을 사용할 수있게되는 데 몇 분 정도 걸릴 수 있습니다. 오류가 발생하면 1 분 정도 기다렸다가 재로드를 누르십시오.

Service가 온라인 상태가 되면 다음과 유사한 환영 메시지가 표시됩니다.

5. 정리하기

helm list

다음과 유사한 mywebserver가 설치 되었음을 보여주는 출력이 표시 되어야 합니다.

제거 하기 위해서 다음 명령을 실행 합니다:

helm uninstall mywebserver

다음과 같은 결과를 확인 할 수 있습니다.

kubectl은 또한 pod와 service를 더 이상 사용할 수 없음을 보여줍니다.

kubectl get pods -l app.kubernetes.io/name=nginx
kubectl get service mywebserver-nginx -o wide

이것으로 정리가 완료되었습니다.

이제 저장소 차트 목록이 업데이트 되었으므로 할 수 있습니다. 모든 차트를 나열 하려면 다음의 명령어를 입력합니다.

명령어에 대한 추가 정보는 에서 찾을 수 있습니다.

빠른 웹 검색으로 를 통해 사용 가능한 NGINX 독립형 웹 서버에 대한 차트가 있음을 발견 하였습니다.

명령어를 사용하여 Bitnami 독립형 nginx 웹 서버 차트를 설치 합니다.

helm 유틸리티를 사용하여 bitnami/nginx 차트를 설치 하십시오. 쿠버네티스 배포에 ‘mywebserver’라는 이름을 지정합니다. 문서를 작성하거나helm install --help 명령을 실행 하여 명령 구문을 확인합니다.

이 출력에 표시된 첫 번째 개체는 입니다. Deployment 객체는 다양한 버전의 롤아웃 (및 롤백) 애플리케이션을 관리 합니다.

차트에 의해 생성 된 다음 개체는 입니다. Pod는 하나 이상의 컨테이너 그룹 입니다.

이 차트가 생성하는 세 번째 개체는 입니다. Service는 인터넷이나 Elastic Load Balancer(ELB)가 nginx 웹 서버에 연결할 수 있게 합니다.

Helm 차트에서 생성한 모든 개체를 제거하려면 를 사용할 수 있습니다.

애플리케이션을 제거하기 전에 명령을 통해 실행중인 항목을 확인할 수 있습니다.

차트에서 검색
이곳
Bitnami Chart 저장소
helm install
helm 설치
Deployment
Pod
Service
Helm delete
Helm list
차트
repository update