kubespray創建windows server 2019 worker結點集羣

默認情況下,參考:

https://docs.microsoft.com/en-us/virtualization/windowscontainers/kubernetes/creating-a-linux-master

基於上述方法,採用kubespray進行優化

1. 首先修改如下文件:

inventory/your_name/group_vars/k8s-cluster/k8s-cluster.yml

修改:kube_network_plugin: flannel

2. 檢查如下文件:

roles/network_plugin/flannel/defaults/main.yml

確保:flannel_backend_type: "vxlan"

 

3. 執行如下命令,修改網絡配置

vi roles/network_plugin/flannel/templates/cni-flannel.yml.j2

主要將"name":"cni0"修改爲vxlan0:

  cni-conf.json: |
    {
      "name": "vxlan0",
      "plugins": [
        {
          "type": "flannel",
          "delegate": {
            "hairpinMode": true,
            "isDefaultGateway": true
          }
        },
        {
          "type": "portmap",
          "capabilities": {
            "portMappings": true
          }
        }
      ]
    }

修改net-conf.json,加入"VNI" : 4096,   "Port": 4789:

  net-conf.json: |
    {
      "Network": "{{ kube_pods_subnet }}",
      "Backend": {
        "Type": "{{ flannel_backend_type }}",
        "VNI" : 4096,
        "Port": 4789
      }
    }

修改完成後,執行:wq退出

4. 執行命令創建kubernetes網絡

ansible-playbook -i inventory/your_name/hosts.ini reset.yml -vv

5. 加入windows server 2019結點

參考:

https://docs.microsoft.com/en-us/virtualization/windowscontainers/kubernetes/joining-windows-workers?tabs=ManagementIP

其中,通過執行命令,獲得集羣的參數

kubectl cluster-info dump > /tmp/k8s.info

檢索:--cluster-cidr   即爲<Cluster CIDR>

          --service-cluster-ip-range   即爲<Service CIDR>

                "ports": [
                    {
                        "name": "dns",
                        "protocol": "UDP",
                        "port": 53,
                        "targetPort": 53
                    },
                    {
                        "name": "dns-tcp",
                        "protocol": "TCP",
                        "port": 53,
                        "targetPort": 53
                    },
                    {
                        "name": "metrics",
                        "protocol": "TCP",
                        "port": 9153,
                        "targetPort": 9153
                    }
                ],
                "selector": {
                    "k8s-app": "kube-dns"
                },
                "clusterIP": "10.96.0.10",
                "type": "ClusterIP",
                "sessionAffinity": "None"
            },

其中,kube-dns對應的clusterIP 即爲<Kube-dns Service IP>

最後,執行如下命令,其中<network mode>爲overlay

.\start.ps1 -ManagementIP <Windows Node IP> -NetworkMode <network mode>  -ClusterCIDR <Cluster CIDR> -ServiceCIDR <Service CIDR> -KubeDnsServiceIP <Kube-dns Service IP> -LogDir <Log directory>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章