Tanzu Kubernetes 클러스터에서 외부 로드 밸런서를 프로비저닝하기 위해 LoadBalancer 유형의 서비스를 생성할 수 있습니다. 로드 밸런서 서비스는 공용 IP 주소를 노출합니다. 외부 로드 밸런서의 트래픽은 클러스터 포드에서 리디렉션할 수 있습니다.
서비스로 노출된 Kubernetes 포드에 대한 외부 로드 밸런서를 프로비저닝할 수 있습니다. 예를 들어 Nginx 컨테이너를 배포하고 LoadBalancer 유형의 Kubernetes 서비스로 노출할 수 있습니다.
프로시저
- 기본 권한이 있는 PSP에 적절한 역할 바인딩을 생성합니다. 포드 보안 정책에 대한 역할 바인딩 예의 내용을 참조하십시오.
- 다음 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
배너 메시지가 보입니다.