관리형 컨트롤 플레인에서 선택적 기능 사용 설정
이 페이지에서는 관리형 Cloud Service Mesh에서 선택적 기능을 사용 설정하는 방법을 설명합니다. 클러스터 내 컨트롤 플레인은 클러스터 내 컨트롤 플레인에서 선택적 기능 사용 설정을 참조하세요.
관리형 Cloud Service Mesh를 프로비저닝할 때 지원되는 기능은 컨트롤 플레인 구현에 따라 다르며 특정 기능은 허용 목록을 통해서만 사용할 수 있습니다. 자세한 내용은 지원되는 기능을 참고하세요.
현재 IstioOperator
기반 구성을 사용하는 경우 IstioOperator에서 마이그레이션 도구를 사용하면 관리형 제어 영역에서 지원되는 구성으로 변환할 수 있습니다.
Distroless 프록시 이미지
관리형
TRAFFIC_DIRECTOR
컨트롤 플레인 구현으로 Cloud Service Mesh에 직접 온보딩한 경우 distroless 이미지 유형만 지원됩니다. 변경은 불가능합니다.Fleet에서 원래
ISTIOD
컨트롤 플레인 구현을 사용했고TRAFFIC_DIRECTOR
구현으로 마이그레이션된 경우 이미지 유형은 마이그레이션 중에 변경되지 않으며 이미지 유형을 직접 distroless로 변경할 수 있습니다.
컨테이너 런타임의 콘텐츠를 필요한 패키지로만 제한하는 것이 좋습니다. 이 접근 방법은 CVE(Common Vulnerabilities and Exposure) 스캐너의 보안과 신호 대 잡음비를 향상시킵니다. Istio는 distroless 기본 이미지를 기반으로 프록시 이미지를 제공합니다.
distroless 프록시 이미지에는 프록시 이외의 바이너리가 포함되지 않습니다.
따라서 셸을 exec
하거나 컨테이너 내에서 curl
, ping
또는 기타 디버그 유틸리티를 사용할 수 없습니다. 하지만 임시 컨테이너를 사용하여 실행 중인 워크로드 포드에 연결하여 검사하고 커스텀 명령어를 실행할 수 있습니다. 예시는 Cloud Service Mesh 로그 수집을 참고하세요.
다음 구성은 전체 Cloud Service Mesh에 대해 distroless 이미지를 사용 설정합니다. 이미지 유형 변경이 적용되려면 각 포드가 다시 시작되고 다시 삽입되어야 합니다.
apiVersion: v1
kind: ConfigMap
metadata:
name: istio-release-channel
namespace: istio-system
data:
mesh: |-
defaultConfig:
image:
imageType: distroless
다음 포드 주석을 사용하여 imageType
을 재정의할 수 있습니다.
sidecar.istio.io/proxyImageType: debug
주석을 사용해 배포 이미지 유형을 변경한 후에는 배포를 다시 시작해야 합니다.
kubectl rollout restart deployment -n NAMESPACE DEPLOYMENT_NAME
디버그 기본 이미지가 필요하지 않으므로 대부분의 프록시 디버깅 유형은 gcloud beta container fleet mesh debug proxy-status / proxy-config
(세부정보)를 사용해야 합니다.
아웃바운드 트래픽 정책
기본적으로 outboundTrafficPolicy
는 ALLOW_ANY
로 설정됩니다. 이 모드에서는 모든 외부 서비스에 대한 모든 트래픽이 허용됩니다. 서비스 항목이 정의된 외부 서비스로만 트래픽을 제어하고 제한하려면 ALLOW_ANY
의 기본 동작을 REGISTRY_ONLY
로 변경할 수 있습니다.
다음 구성은
outboundTrafficPolicy
를REGISTRY_ONLY
로 구성합니다.apiVersion: v1 kind: ConfigMap metadata: name: istio-release-channel namespace: istio-system data: mesh: |- outboundTrafficPolicy: mode: REGISTRY_ONLY
여기서 release-channel은 출시 채널입니다(
asm-managed
,asm-managed-stable
,asm-managed-rapid
).다음 명령어를 사용하여 구성 맵에서 이전에 필요한 구성 변경사항을 적용할 수 있습니다.
kubectl edit configmap istio-release-channel -n istio-system -o yaml
다음 명령어를 실행하여 구성 맵을 확인합니다.
kubectl get configmap istio-release-channel -n istio-system -o yaml
REGISTRY_ONLY
로outboundTrafficPolicy
가 사용 설정되었는지 확인하려면mesh:
섹션에 다음 줄이 표시되는지 확인합니다.... apiVersion: v1 data: mesh: | outboundTrafficPolicy: mode: REGISTRY_ONLY ...
최종 사용자 인증
배포된 워크로드에 대한 브라우저 기반 최종 사용자 인증 및 액세스 제어를 위해 관리형 Cloud Service Mesh 사용자 인증을 구성할 수 있습니다. 자세한 내용은 Cloud Service Mesh 사용자 인증 구성을 참조하세요.
워크로드의 최소 TLS 버전 구성
관리형 TRAFFIC_DIRECTOR
컨트롤 플레인 구현을 사용하여 Cloud Service Mesh에 직접 온보딩한 경우에는 이 설정을 변경할 수 없습니다.
minProtocolVersion
필드를 사용하여 워크로드 간의 TLS 연결에 대한 최소 TLS 버전을 지정할 수 있습니다. 최소 TLS 버전 설정 및 워크로드의 TLS 구성 확인에 대한 자세한 내용은 Istio 워크로드 최소 TLS 버전 구성을 참조하세요.
다음 예시에서는 워크로드의 최소 TLS 버전을 1.3으로 설정하는 ConfigMap
을 보여줍니다.
apiVersion: v1
kind: ConfigMap
metadata:
name: istio-release-channel
namespace: istio-system
data:
mesh: |-
meshMTLS:
minProtocolVersion: TLSV1_3