외부 트래픽을 TKG 2.0 클러스터에서 실행되는 포드로 라우팅하려면 LoadBalancer 유형의 서비스를 생성합니다. 로드 밸런서 서비스는 인바운드 트래픽이 포드로 라우팅되는 공용 IP 주소를 노출합니다.
서비스로 노출된 Kubernetes 포드에 대한 외부 로드 밸런서를 프로비저닝할 수 있습니다. 예를 들어 Nginx 컨테이너를 배포하고 LoadBalancer 유형의 Kubernetes 서비스로 노출할 수 있습니다.
프로시저
- 다음 nginx-lbsvc.yaml YAML 파일을 생성합니다.
이 YAML 파일은 LoadBalancer 유형의 Kubernetes 서비스를 정의하고 서비스에 대한 외부 로드 밸런서로 Nginx 컨테이너를 배포합니다.
kind: Service
apiVersion: v1
metadata:
name: srvclb-ngnx
spec:
selector:
app: hello
tier: frontend
ports:
- protocol: "TCP"
port: 80
targetPort: 80
type: LoadBalancer
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: loadbalancer
spec:
replicas: 2
selector:
matchLabels:
app: hello
template:
metadata:
labels:
app: hello
tier: frontend
spec:
containers:
- name: nginx
image: "nginxdemos/hello"
- YAML을 적용합니다.
kubectl apply -f nginx-lbsvc.yaml
- Nginx 서비스의 배포를 확인합니다.
srvclb-ngnx
는 외부 및 내부 IP 주소를 사용하여 작동합니다.
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
srvclb-ngnx LoadBalancer 10.11.12.19 10.19.15.89 80:30818/TCP 18m
- 브라우저를 사용하여 Nginx LoadBalancer 서비스의 외부 IP 주소를 입력합니다.
로드 밸런서의 세부 정보 및
NGINX
배너 메시지가 보입니다.