Istioctl로 설치하기

Istioctl로 설치하기

이 가이드에서는 istioctl 명령줄 도구를 사용해서 깊이 있는 평가나 프로덕션용 Istio 메시를 설치하고 설정하는 방법을 알아봐요.

출처: Istio 문서

본문

이 가이드를 따라 깊이 있는 평가나 프로덕션 사용을 위한 Istio 메시를 설치하고 설정해요.

Istio를 처음 접하고 그냥 시험해 보고 싶다면 빠른 시작 안내를 따라 하세요.

이 설치 가이드는 istioctl 명령줄 도구를 사용해서 Istio 컨트롤 플레인과 Istio 데이터 플레인의 sidecar를 풍부하게 커스터마이즈해요. 설치 오류를 막아주는 사용자 입력 검증과 설정의 어떤 측면이든 덮어쓸 수 있는 커스터마이즈 옵션이 있어요.

이 안내를 사용하면 Istio에 내장된 설정 프로필 중 어떤 것이든 선택하고, 특정 요구 사항에 맞게 설정을 더 커스터마이즈할 수 있어요.

istioctl 명령은 개별 설정에 대한 명령줄 옵션이나 IstioOperator 커스텀 리소스(CR)가 담긴 yaml 파일을 전달하는 방식으로 전체 IstioOperator API를 지원해요.

사전 요구사항

시작하기 전에 다음 사전 요구사항을 확인하세요:

  1. Istio 릴리스를 다운로드하세요.
  2. 필요한 플랫폼별 설정을 수행하세요.
  3. Pod 및 서비스 요구사항을 확인하세요.

기본 프로필로 Istio 설치하기

가장 간단한 옵션은 다음 명령으로 Istio의 default 설정 프로필을 설치하는 거예요:

$ istioctl install

이 명령은 Kubernetes 설정이 가리키는 클러스터에 default 프로필을 설치해요. default 프로필은 광범위한 Istio 기능을 평가하기 위한 큰 demo 프로필과 달리, 프로덕션 환경을 구축하기에 좋은 출발점이에요.

설치를 수정하도록 다양한 설정을 구성할 수 있어요. 예를 들어 접근 로그를 활성화하려면:

$ istioctl install --set meshConfig.accessLogFile=/dev/stdout

외부 차트로 설치하기

기본적으로 istioctl은 컴파일된 내장 차트를 사용해서 설치 매니페스트를 생성해요. 이 차트들은 감사(auditing)와 커스터마이즈 목적으로 istioctl과 함께 릴리스되며, 릴리스 tar의 manifests 디렉터리에서 찾을 수 있어요. istioctl은 내장 차트 대신 외부 차트를 사용할 수도 있어요. 외부 차트를 선택하려면 manifests 플래그를 로컬 파일 시스템 경로로 설정하세요:

$ istioctl install --manifests=manifests/

istioctl 1.31.1 바이너리를 사용한다면 이 명령은 내장 차트와 같은 차트를 가리키기 때문에 istioctl install 단독 실행과 동일한 설치 결과를 만들어요. 새 기능을 실험하거나 테스트하는 경우가 아니라면, istioctl 바이너리와 차트의 호환성을 보장하기 위해 외부 차트보다는 컴파일된 내장 차트를 사용하는 것을 권장해요.

다른 프로필 설치하기

다른 Istio 설정 프로필은 명령줄에 프로필 이름을 전달해서 클러스터에 설치할 수 있어요. 예를 들어 다음 명령으로 demo 프로필을 설치할 수 있어요:

$ istioctl install --set profile=demo

설치 전에 매니페스트 생성하기

manifest generate 하위 명령을 사용해서 Istio를 설치하기 전에 매니페스트를 생성할 수 있어요. 예를 들어 다음 명령으로 kubectl로 설치할 수 있는 default 프로필용 매니페스트를 생성해요:

$ istioctl manifest generate > $HOME/generated-manifest.yaml

생성된 매니페스트는 정확히 무엇이 설치되는지 확인하고 시간에 따른 매니페스트 변경을 추적하는 데 사용할 수 있어요. IstioOperator CR이 전체 사용자 설정을 나타내며 그것을 추적하기에 충분하지만, manifest generate의 출력은 기반 차트에서 발생할 수 있는 변경도 포착하므로 실제 설치된 리소스를 추적하는 데 사용할 수 있어요.

설치 설정 커스터마이즈에 대한 추가 정보는 설치 설정 커스터마이즈를 참고하세요.

Istio 제거하기

클러스터에서 Istio를 완전히 제거하려면 다음 명령을 실행하세요:

$ istioctl uninstall --purge

특정 Istio 컨트롤 플레인만 제거하려면 다음 명령을 실행하세요:

$ istioctl uninstall <your original installation options>

또는

$ istioctl manifest generate <your original installation options> | kubectl delete --ignore-not-found=true -f -

컨트롤 플레인 네임스페이스(예: istio-system)는 기본적으로 제거되지 않아요. 더 이상 필요 없다면 다음 명령으로 제거하세요:

$ kubectl delete namespace istio-system

더 알아보기 (Learn more)