我正在尝试使用kubeadm和vagrant设置一个kubernetes集群。当pod尝试通过kubernetes API检索configmap时,我在安装nginx入口控制器时遇到错误。我环顾四周并尝试应用他们的解决方案,但还是没有运气,这就是我发布此帖子的原因。
环境:
我正在使用vagrant设置2个带有ubuntu / xenial图像的节点。
kmaster
-------------------------------------------
network:
Adapter1: NAT
Adapter2: HostOnly-network, IP:192.168.2.71
kworker1
-------------------------------------------
network:
Adapter1: NAT
Adapter2: HostOnly-network, IP:192.168.2.72
我按照kubeadm设置了集群
[Setup kubernetes with kubeadm]
我的kube cluster init命令如下:
kubeadm init --pod-network-cidr=192.168.0.0/16 --apiserver-advertise-address=192.168.2.71
并应用calico网络插件政策:
kubectl apply -f \
https://docs.projectcalico.org/v3.4/getting-started/kubernetes/installation/hosted/etcd.yaml
kubectl apply -f \
https://docs.projectcalico.org/v3.4/getting-started/kubernetes/installation/hosted/calico.yaml
(Calico是我目前已成功安装的插件,我将为法兰绒插件发布另一篇帖子,该插件无法访问该服务)
我正在使用Helm安装入口控制器 https://kubernetes.github.io/ingress-nginx/deploy/
那是我在描述pod时应用了helm deploy命令后发生的错误
感谢某人可以提供帮助,因为我知道原因是pod无法访问kubernetes API。但是默认情况下,这不是已经应该由kubernetes启用吗?
kubernetes官方网站提供的另一种解决方案:
1)使用sidecar安装kube-proxy,我还是kubernetes的新手,我正在寻找例如如何使用sidecar安装kube-proxy的工具。感谢有人可以提供示例。
2)使用client-go,当我阅读这篇文章时,我非常困惑,似乎是使用go命令来提取go脚本,而且我不知道它如何与kubernetes pod一起使用。
答案 0 :(得分:1)
你们是正确的,我已经使用数字海洋的飞沫进行了测试,并且按预期工作,我遇到了另一个错误是“禁止,不允许使用用户服务帐户”。看起来Pod已经可以访问kubernetes api。我还测试过安装istio,我之前遇到过相同的问题,现在它可以在数字海洋飞沫中工作。
谢谢你们。