728x90
K8S에서 LoadBalancer 구성시 동일한 IP로 여러개의 Port를 지정하기 위해 사용
구성을 하기 위해서는 클러스터에서 servicesAPI: true 를 True로 변경 필요
AviInfrasetting을 구성
## AVIInfraSetting
kubectl apply -f - << EOF
apiVersion: ako.vmware.com/v1alpha1
kind: AviInfraSetting
metadata:
name: other-infra
spec:
seGroup:
name: Default-Group
network:
vipNetworks:
- networkName: pg-dk-10.253.107.x
cidr: 10.253.107.0/24
enableRhi: false
l7Settings:
shardSize: MEDIUM
EOF
GATEWAYCLASS 생성
cat <<EOF | kubectl apply -f -
apiVersion: networking.x-k8s.io/v1alpha1
kind: GatewayClass
metadata:
name: critical-gwc
spec:
controller: ako.vmware.com/avi-lb
parametersRef:
group: ako.vmware.com
kind: AviInfraSetting
name: other-infra
EOF
GATEWAY 생성
※ 여러개의 포트가 필요 할 경우 포트를 늘리면 됨
cat <<EOF | kubectl apply -f -
apiVersion: networking.x-k8s.io/v1alpha1
kind: Gateway
metadata:
name: avi-alb-gw
namespace: default
spec:
gatewayClassName: critical-gwc
listeners:
- protocol: TCP
port: 8080
routes:
selector:
matchLabels:
ako.vmware.com/gateway-namespace: default
ako.vmware.com/gateway-name: avi-alb-gw
group: v1
kind: Service
- protocol: TCP
port: 80
routes:
selector:
matchLabels:
ako.vmware.com/gateway-namespace: default
ako.vmware.com/gateway-name: avi-alb-gw
group: v1
kind: Service
EOF
만약 LB의 IP를 지정 하고 싶다면 IP를 지정
cat <<EOF | kubectl apply -f -
apiVersion: networking.x-k8s.io/v1alpha1
kind: Gateway
metadata:
name: avi-alb-gw
namespace: default
spec:
gatewayClassName: critical-gwc
addresses:
- type: IPAddress
value: 10.253.107.203
listeners:
- protocol: TCP
port: 8080
routes:
selector:
matchLabels:
ako.vmware.com/gateway-namespace: default
ako.vmware.com/gateway-name: avi-alb-gw
group: v1
kind: Service
- protocol: TCP
port: 80
routes:
selector:
matchLabels:
ako.vmware.com/gateway-namespace: default
ako.vmware.com/gateway-name: avi-alb-gw
group: v1
kind: Service
EOF
테스트
kubectl create deploy hello --image=paulbouwer/hello-kubernetes:1.7 --replicas=3 --port=8080
kubectl expose deployment hello --type=LoadBalancer --port=80 --target-port=8080 -l 'ako.vmware.com/gateway-namespace=default','ako.vmware.com/gateway-name=avi-alb-gw'
반응형
'VMware > AVI' 카테고리의 다른 글
(DK) AVI BGP with Tanzu (0) | 2022.04.08 |
---|---|
(DK) AVI Autosaclling with Tanzu (0) | 2022.04.08 |
(DK) AVIINFRASETTING with Tanzu (0) | 2022.04.08 |