109 lines
7.1 KiB
Markdown
109 lines
7.1 KiB
Markdown
### download
|
|
```bash
|
|
curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.23.1 TARGET_ARCH=x86_64 sh -
|
|
```
|
|
|
|
### set istioctl
|
|
```bash
|
|
cd ~/istio-1.23.1/bin
|
|
```
|
|
```bash
|
|
chmod +x istioctl
|
|
```
|
|
```bash
|
|
ln istioctl /usr/bin/istioctl
|
|
```
|
|
|
|
### install
|
|
|
|
```bash
|
|
istioctl install --manifests=manifests/
|
|
```
|
|
Istioctl은 istio 설치를 위해 manifests/ 디렉토리 내에서 기본적으로 필요한 파일과 폴더들을 참조합니다.
|
|
|
|
기본적으로 참조되는 폴더와 파일
|
|
| 구성요소 | 내용 |
|
|
| --- | --- |
|
|
| base | Istio의 기본 리소스 및 CRD 배포, 네임스페이스, 서비스 계정, 클러스터 역할, 클러스터 역할 바인딩 등|
|
|
| istio-control | Istio의 컨트롤 플레인(예: istiod) 설치에 사용됩니다. |
|
|
|gateways| Ingress 및 Egress Gateway 설치에 필요하며, 서비스 타입 변경(예: NodePort) 등의 설정을 관리. |
|
|
| default |
|
|
|
|
default/ 폴더는 default 프로필을 사용하는 기본 설치 구성을 포함하고 있습니다. Istio 설치 시 이 폴더의 파일들이 기본적으로 참조되며, 다양한 설치 옵션이 포함된 프로필 파일이 여기에서 사용됩니다.
|
|
참조 이유: Istio를 설치할 때 default 프로필의 기본 설정을 참조하며, 사용자 정의 구성이 없다면 이 프로필을 따릅니다.
|
|
istio-operator/
|
|
|
|
istio-operator/ 폴더는 IstioOperator 리소스 및 설정을 정의하는 매니페스트가 포함되어 있습니다. 이 파일들은 Istio 설치를 제어하고, 다양한 구성 요소의 활성화/비활성화를 관리하는 데 사용됩니다.
|
|
참조 이유: IstioOperator 리소스를 통해 Istio 설치의 구체적인 설정과 구성을 관리합니다.
|
|
istio-cni/ (옵션)
|
|
|
|
istio-cni/는 Istio의 CNI(Container Network Interface)를 설정하기 위한 매니페스트 파일을 포함하고 있습니다. Istio CNI는 사이드카 프록시 주입을 지원하며, Kubernetes 네트워크 플러그인과 통합됩니다.
|
|
참조 이유: CNI 기반 설치를 활성화할 경우 사용됩니다.
|
|
ztunnel/ (옵션)
|
|
|
|
ztunnel/은 Istio의 Zero Trust 기반 네트워크 보안을 지원하는 구성 요소와 관련된 파일이 포함되어 있습니다. 보안 네트워크 통신과 관련된 설정을 정의합니다.
|
|
참조 이유: Zero Trust 보안 설치를 사용하는 경우 참조됩니다.
|
|
추가 파일들
|
|
README.md
|
|
|
|
Istio 차트에 대한 간단한 설명이 포함된 파일입니다. Istio의 구성 요소와 설치 방법에 대한 정보를 제공합니다.
|
|
참조 이유: 설치 중 직접 참조되지는 않지만, 사용자에게 정보를 제공합니다.
|
|
UPDATING-CHARTS.md
|
|
|
|
차트 업데이트와 관련된 정보가 포함된 문서입니다. Istio 차트를 어떻게 업데이트할 수 있는지에 대한 가이드를 제공합니다.
|
|
참조 이유: 설치 중 직접 참조되지는 않지만, Helm 차트 관리 및 업데이트에 대한 정보를 제공합니다.
|
|
install-OpenShift.md
|
|
|
|
OpenShift에 Istio를 설치할 때 참고할 수 있는 문서입니다. OpenShift에 맞춘 설치 관련 정보가 포함되어 있습니다.
|
|
참조 이유: OpenShift 설치 시에만 유용하며, 일반적인 Kubernetes 설치에서는 참조되지 않습니다.
|
|
기본적으로 참조되는 주요 구성 요소
|
|
CRD: Istio의 모든 설치에서 사용되는 주요 Custom Resource Definitions.
|
|
istiod: Istio 컨트롤 플레인의 핵심 컴포넌트.
|
|
Ingress Gateway: Istio Ingress Gateway 설치 파일.
|
|
IstioOperator: 설치 설정을 조정하는 파일.
|
|
결론
|
|
istioctl install --manifests=manifests/ 명령어는 기본적으로 base/, istio-control/, gateways/, default/, istio-operator/ 폴더의 파일들을 참조합니다. 이들 폴더는 Istio의 핵심 구성 요소인 CRD, istiod, 게이트웨이 설정 등을 관리하며, 기본적인 Istio 설치에 필요한 리소스들을 제공합니다.
|
|
|
|
|
|
|
|
|
|
나의 말:
|
|
gateway 폴더와 gateways 폴더의 차이는?
|
|
ChatGPT의 말:
|
|
ChatGPT
|
|
gateway 폴더와 gateways 폴더는 Istio 설치 시 각각 다른 목적을 가진 폴더로, 중요한 차이가 있습니다. 이 두 폴더는 Istio의 게이트웨이(Gateway) 구성과 관련이 있지만, 다루는 범위와 역할이 다릅니다.
|
|
|
|
1. gateway/ 폴더
|
|
목적: Istio의 개별적인 Gateway 구성과 관련된 설정이 포함됩니다. 주로 istio-ingressgateway 또는 istio-egressgateway와 같은 구체적인 게이트웨이 인스턴스를 정의하고, 설치할 때 필요한 매니페스트가 여기에 저장됩니다.
|
|
내용: Istio에서 Ingress 또는 Egress Gateway를 정의하는 Kubernetes 리소스의 매니페스트가 있을 수 있습니다. 이 폴더는 특정 게이트웨이 인스턴스와 관련된 세부 설정을 포함하는 경우가 많습니다.
|
|
예시 파일:
|
|
ingress-gateway.yaml
|
|
egress-gateway.yaml
|
|
역할:
|
|
|
|
개별 Ingress Gateway와 Egress Gateway를 정의하는 파일을 포함.
|
|
특정 Gateway 리소스를 Kubernetes 클러스터에 설치할 때 참조됩니다.
|
|
Ingress Gateway와 Egress Gateway의 서비스 설정(예: NodePort, ClusterIP) 등을 제어할 수 있습니다.
|
|
2. gateways/ 폴더
|
|
목적: Istio의 게이트웨이 관련 전반적인 설정이 포함되어 있습니다. 여기에는 Ingress 및 Egress Gateway를 위한 공통적인 설정, 또는 여러 게이트웨이를 관리하는 설정들이 포함됩니다.
|
|
내용: 여러 게이트웨이와 관련된 설정이나 매니페스트 파일이 들어 있을 수 있으며, 설치할 때 다양한 게이트웨이 구성 요소를 설정하는 데 사용됩니다.
|
|
예시 파일:
|
|
ingress.yaml
|
|
egress.yaml
|
|
역할:
|
|
|
|
Istio에서 게이트웨이와 관련된 전반적인 리소스들을 정의.
|
|
다양한 게이트웨이 설정 파일을 포함하여 전체 게이트웨이 설치 및 관리에 사용.
|
|
여러 게이트웨이 인스턴스 간의 공통 설정을 관리하는데 도움을 줍니다.
|
|
주요 차이점 요약
|
|
항목 gateway/ 폴더 gateways/ 폴더
|
|
목적 개별 Gateway 인스턴스(Ingress, Egress 등)를 정의 게이트웨이 관련 전반적인 설정 및 리소스들을 관리
|
|
내용 특정 Ingress/Egress Gateway의 설정 파일 다양한 게이트웨이와 관련된 매니페스트 및 설정 파일
|
|
사용 예 istio-ingressgateway 또는 istio-egressgateway 설정 게이트웨이 설치 및 여러 게이트웨이 구성 요소를 관리
|
|
설정 범위 개별 Gateway 리소스에 대한 세부 설정 게이트웨이 전반에 걸친 공통 설정을 포함
|
|
결론
|
|
gateway/ 폴더: 특정 Gateway 인스턴스(예: istio-ingressgateway 또는 istio-egressgateway)의 설정 파일들이 포함되어, 개별 게이트웨이를 정의하고 관리하는 데 사용됩니다.
|
|
gateways/ 폴더: Istio의 게이트웨이와 관련된 전반적인 설정 파일들을 포함하고 있으며, 여러 게이트웨이 리소스에 공통된 설정을 관리하거나, 다양한 게이트웨이 설치 파일들을 포함할 수 있습니다.
|
|
따라서, **gateway/**는 개별 게이트웨이에 집중하고, **gateways/**는 게이트웨이 관련 설정을 광범위하게 관리하는 역할을 합니다.
|
|
|