我正在尝试使用 Kubespray 让我的集群运行起来,我不得不说它是一个很棒的工具,但我无法让它完全正确地为我工作。具体来说,我正在尝试启用 metalLB 插件,但它似乎不起作用。
在我自己的尝试失败后,我从 kubespray 拉取请求中退回到测试步骤,该请求将 metalLB 添加为插件,但这仍然失败。
指出我的实际步骤。
vagrant destroy
(处理我的最后一次尝试)- 更改
/inventory/mycluster/group_vars/k8s-cluster/addons.yml
以启用 MetalLB,版本 0.9.3,第 2 层,ip 范围192.168.1.201-192.168.1.250
- 变更
/inventory/mycluster/group_vars/k8s-cluster/k8s-cluster.yml
集kube_network_plugin: flannel
,kube_proxy_strict_arp: true
和kubeconfig_localhost: true
- 跑
ansible-playbook -i inventory/mycluster/hosts.yaml --become --become-user=root cluster.yml --private-key=~/.ssh/id_rsa
vagrant up
kubectl apply -f testlb.yaml (apply the test service from the pull request test)
-
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 仍处于待处理状态,我该如何解决?