- vpc 单独使用external功能
目前依然还是对默认vpc的的cm 有所依赖,后续可能需要加一个gw chassis node crd 来解耦,基于label管理gw node也行,但不够直观,操作量也有点大。
[root@pc-node-1 03-cust-vpc]# k get cm -A -o wide | grep external
kube-system ovn-external-gw-config 5 5m12s
测试自定义vpc enable external
# cat 01-vpc-ecmp-enable-external-bfd.yml
kind: Vpc
apiVersion: kubeovn.io/v1
metadata:
name: vpc1
spec:
namespaces:
- vpc1
#enableExternal: true
#enableBfd: true
enableExternal: true
#enableBfd: false
[root@pc-node-1 03-cust-vpc]# k ko nbctl show vpc1
router c568d87a-2c20-4814-ad3b-9e82bd0e42bc (vpc1)
port vpc1-external204
mac: "00:00:00:8F:8F:47"
networks: ["10.5.204.103/24"]
gateway chassis: [b25e36c0-4d1b-4dce-821d-02ecf4f40c8a d3890bf6-eccd-4e7d-8f11-c2c93e56eff6 7e0cba14-0ad7-41f5-a84f-36e409a02914]
[root@pc-node-1 03-cust-vpc]#
[root@pc-node-1 03-cust-vpc]#
[root@pc-node-1 03-cust-vpc]#
[root@pc-node-1 03-cust-vpc]#
[root@pc-node-1 03-cust-vpc]# k ko nbctl lr-route-list vpc1
IPv4 Routes
Route Table <main>:
0.0.0.0/0 10.5.204.254 dst-ip
[root@pc-node-1 03-cust-vpc]# cat 02-subnet.yml
apiVersion: kubeovn.io/v1
kind: Subnet
metadata:
name: vpc1-subnet1
spec:
cidrBlock: 192.168.0.0/24
default: false
disableGatewayCheck: false
disableInterConnection: true
enableEcmp: false
gatewayNode: ""
gatewayType: distributed
#gatewayType: centralized
natOutgoing: false
private: false
protocol: IPv4
provider: ovn
vpc: vpc1
namespaces:
- vpc1
[root@pc-node-1 03-cust-vpc]# k apply -f 02-subnet.yml
subnet.kubeovn.io/vpc1-subnet1 created
[root@pc-node-1 03-cust-vpc]#
[root@pc-node-1 03-cust-vpc]#
[root@pc-node-1 03-cust-vpc]# k ko nbctl show vpc1
router c568d87a-2c20-4814-ad3b-9e82bd0e42bc (vpc1)
port vpc1-vpc1-subnet1
mac: "00:00:00:75:97:74"
networks: ["192.168.0.1/24"]
port vpc1-external204
mac: "00:00:00:8F:8F:47"
networks: ["10.5.204.103/24"]
gateway chassis: [b25e36c0-4d1b-4dce-821d-02ecf4f40c8a d3890bf6-eccd-4e7d-8f11-c2c93e56eff6 7e0cba14-0ad7-41f5-a84f-36e409a02914]
# 直接创建,功能结果正常
置为false,查看是否可以关闭公网
# cat 01-vpc-ecmp-enable-external-bfd.yml
kind: Vpc
apiVersion: kubeovn.io/v1
metadata:
name: vpc1
spec:
namespaces:
- vpc1
enableExternal: false
#enableBfd: true
#enableExternal: true
#enableBfd: false
[root@pc-node-1 03-cust-vpc]# k apply -f 01-vpc-ecmp-enable-external-bfd.yml
vpc.kubeovn.io/vpc1 configured
[root@pc-node-1 03-cust-vpc]#
[root@pc-node-1 03-cust-vpc]#
[root@pc-node-1 03-cust-vpc]#
[root@pc-node-1 03-cust-vpc]#
[root@pc-node-1 03-cust-vpc]# k ko nbctl show vpc1
router c568d87a-2c20-4814-ad3b-9e82bd0e42bc (vpc1)
port vpc1-vpc1-subnet1
mac: "00:00:00:75:97:74"
networks: ["192.168.0.1/24"]
# 可以看到已关闭