약 2 분
Consul API : https://www.consul.io/api-docs/config
Proxy Default : https://www.consul.io/docs/connect/config-entries/proxy-defaults
Envoy Integration : https://www.consul.io/docs/connect/proxies/envoy
약 6 분
팁
실습을 위한 조건은 다음과 같습니다.
- Kubernetes 1.21 이상의 환경
- Consul binary http://releases.hashicorp.com/consul/
- Install helm 3
- Install Kubectl
- Consul Namespace 테스트는 Enterprise 라이선스가 필요합니다. : http://consul.io/trial
약 3 분
팁
실습을 위한 조건은 다음과 같습니다.
- Consul 이 구성된 Kubernetes 환경
- 설치 구성 시
connectInject
이 활성화 되어있어야 합니다.
약 11 분
실습을 진행하기 위한 디렉토리를 생성합니다.
mkdir ./traffic
Service Mesh는 HTTP 프로토콜 상에서 L7으로 동작하게 됩니다. 따라서 기본 프로토콜을 http로 변경합니다.
약 12 분
Ingress gateway가 8080을 Listen하도록 구성되어있으면, 아래와 같이 해당 포트의 요청을 받을 대상 서비스를 지정합니다.
apiVersion: consul.hashicorp.com/v1alpha1
kind: IngressGateway
metadata:
name: ingress-gateway
spec:
listeners:
- port: 8080
protocol: http
services:
- name: hashicups
hosts: ["*"]
약 1 분
Consul Doc : https://www.consul.io/docs/k8s/connect#kubernetes-pods-with-multiple-ports
annotation
에 다음과 같이 서비스 이름과 대상 포트를 리스트로 지정합니다.
약 1 분
Consul Version : 1.9.x
Helm Chart : 0.30.0
Consul을 쿠버네티스 상에 구성하게 되면 annotation
구성만으로도 쉽게 Sidecar를 애플리케이션과 함께 배포 가능하다.
약 4 분