1

我正在尝试使用 Kubespray 让我的集群运行起来,我不得不说它是一个很棒的工具,但我无法让它完全正确地为我工作。具体来说,我正在尝试启用 metalLB 插件,但它似乎不起作用。

在我自己的尝试失败后,我从 kubespray 拉取请求中退回到测试步骤,该请求将 metalLB 添加为插件,但这仍然失败。

拉取请求 kubespray/pull/6238 链接

指出我的实际步骤。

  1. vagrant destroy(处理我的最后一次尝试)
  2. 更改/inventory/mycluster/group_vars/k8s-cluster/addons.yml以启用 MetalLB,版本 0.9.3,第 2 层,ip 范围192.168.1.201-192.168.1.250
  3. 变更/inventory/mycluster/group_vars/k8s-cluster/k8s-cluster.ymlkube_network_plugin: flannelkube_proxy_strict_arp: truekubeconfig_localhost: true
  4. ansible-playbook -i inventory/mycluster/hosts.yaml --become --become-user=root cluster.yml --private-key=~/.ssh/id_rsa
  5. vagrant up
  6. kubectl apply -f testlb.yaml (apply the test service from the pull request test)
  7.  kubectl get services
    
     NAME         TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
    
     kubernetes   ClusterIP      10.233.0.1      none        443/TCP        169m
    
     my-service   LoadBalancer   10.233.32.158   pending     80:30751/TCP   144m
    

my-service 的 external-ip 仍然挂起,因为它无法解析。似乎没有 metallb 组件正在运行。在执行过程中,很多文字飞速掠过,但我没有看到任何 metallb 特定的消息。

我的计划是使用集群来玩、学习和开发,最好是使用 jenkins-x。它不打算用作生产集群或供公众访问。

我的网络很简单,宽带集线器/路由器/防火墙位于 192.168.0.1。该路由器在 192.168.0.* 范围内分配网络地址

我的 Kubespray 集群在四核 ubuntu 机器上的 virtualbox 中运行 3 个节点。

为什么外部 IP 仍处于待处理状态,我该如何解决?

4

0 回答 0