https://huntedhappy.github.io/avi/#2-avi-infra-settings
The Documentation vSphere Tanzu with AVI Load Balancer
VMware Tanzu with AVI
huntedhappy.github.io
컨테이너 환경에서 하나의 클러스터에 VS별 SE-GROUP을 분리 하거나, 또는 VS의 IP 대역을 분리 하고 싶을 경우 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
생성한 AVIINFRASETING을 통해 INGRESSCLASS를 구성한다.
kubectl apply -f - << EOF
apiVersion: networking.k8s.io/v1
kind: IngressClass
metadata:
name: other-infra
spec:
controller: ako.vmware.com/avi-lb
parameters:
apiGroup: ako.vmware.com
kind: AviInfraSetting
name: other-infra
EOF
그리고 Ingress를 구성 할 때 Ingressclass를 새로 생성한 Class로 구성하면 완료가 된다.
테스트 방법
kubectl create deploy hello --image=paulbouwer/hello-kubernetes:1.7 --replicas=3 --port=8080
kubectl expose deployment hello --type=ClusterIP --port=80 --target-port=8080
kubectl create ingress hello --class=other-infra --rule="hello.avi.tkg.io/=hello:8080"
그럼 아래와 같이 변경전은 10.253.125.x/24 대역이지만.

위 설정을 통해 아래와 같이 10.253.107.x/24 으로 설정이 변경이 되는 것을 확인 할 수 있다.

또는 기존의 SE-GROUP을 사용하지 않고 별도로 SE-GROUP을 생성 해서 VS별 SE-GROUP을 나눌 수도 있다.
보이는 바와 같이 하나의 SE GROUP에 모든 VS가 들어가 있는 것을 확인 할 수 있다.
그래서 별도의 SE-GROUP을 생성 해준다.

그리고 명령어를 통해 AVIINFRASETTING에 들어가 있는 SE-GROUP을 새로 생성한 GROUP으로 변경 해준다.
## SEGROUP을 변경
kubectl patch aviinfrasettings other-infra --type 'json' -p '[{"op":"replace","path":"/spec/seGroup/name","value":"tkgm01"}]'
kubectl patch ing hello --patch '{"spec": {"ingressClassName": "other-infra"}}'
그러면 신규 SE가 배포가 된다.


변경 후 SE-GROUP에 할당된 VS 및 SE를 확인 할 수 있다.

'VMware > AVI' 카테고리의 다른 글
(DK) AVI GATEWAYCLASS with Tanzu (0) | 2022.04.08 |
---|---|
(DK) AVI BGP with Tanzu (0) | 2022.04.08 |
(DK) AVI Autosaclling with Tanzu (0) | 2022.04.08 |