curl -Lo citrix-k8s-node-controller.yaml https://raw.githubusercontent.com/netscaler/netscaler-k8s-node-controller/master/deploy/citrix-k8s-node-controller.yaml

更改清单中deployment块

apiVersion: apps/v1 #  for k8s versions before 1.9.0 use apps/v1beta2  and before 1.8.0 use extensions/v1beta1
kind: Deployment
metadata:
  name: cnc-citrix-node-controller
spec:
  selector:
    matchLabels:
      app.kubernetes.io/name: citrix-node-controller
      app.kubernetes.io/instance: cnc
  replicas: 1
  template:
    metadata:
      labels:
        app.kubernetes.io/name: citrix-node-controller
        app.kubernetes.io/instance: cnc
    spec:
      serviceAccountName: citrix-node-controller
      containers:
      - name: citrix-node-controller
        image: "quay.io/citrix/citrix-k8s-node-controller:2.2.12"
        imagePullPolicy: Always
        env:
        - name: EULA
          value: "yes"
        - name: NS_IP
          value: "192.168.255.110"
        - name: NS_USER
          valueFrom:
            secretKeyRef:
              name: nslogin
              key: username
        - name: NS_PASSWORD
          valueFrom:
            secretKeyRef:
              name: nslogin
              key: password
        - name: NETWORK
          value: "100.65.0.0/16"  #vtep网段 不能与pod cidr以及lan上的网段重叠
        - name: REMOTE_VTEPIP
          value: "192.168.255.111" #与pod通信的ip 应该是subnet ip
        - name: VNID
          value: "4095"  #不能与安装cni时配置的pod间通信的vnid冲突 也就是vpx-pod通信与pod-pod通信处于两个overlay
        - name: VXLAN_PORT
          value: "4789"
        - name: CNI_TYPE
          value: cillium #和现有环境的cni必须一致cillium|calico|flannel|canel cni必须工作在vxlan模式
        - name: "CNC_ROUTER_NAME"
          value: kube-cnc-router
        - name: "CNC_CONFIGMAP"
          value: citrix-node-controller

应用清单

kubectl apply -f citrix-k8s-node-controller.yaml

cnc pod启动完毕后自动在netscaler vpx中添加了vxlan以及去往pod子网下一跳指向worker节点vtep的静态路由

 

更多推荐