问题标签 [kubeadm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kubernetes - kubeadm:主节点从未准备好
我正在关注一篇博客文章,以使用 kubeadm 设置 kubernetes 集群。所以我有一个使用桥接网络创建的 Virtualbox,并按照说明进行操作。
我最初只是这样做了kubeadm init
,但没有成功(大师 NotReady)。所以我想也许旧版本可能会更好。
所以我做了
它很快就完成了。但kubeadm get nodes
总是返回:
我检查了下载的 docker 图像,它们是这样的:
和输出docker ps
显示以下容器正在使用pause
我有点困惑:
主节点在什么情况下会进入
Ready
状态?为什么我问的版本(和 docker images 标签)和报告的版本有区别
kubeadm
?
config - kubeadm pro 配置 admin.conf
我可以在 kubeadm init 之前使用我自己的 admin.conf 并且之后 kubeadm 将使用该文件进行授权吗?这对于在其外部访问此集群非常方便,因为我不需要每次都处理证书和密钥。
docker - Vagrant 无法从节点主机加入 Kubernetes 主机
使用kubeadm
Vagrant 按照官方指南安装 Kubernetes 集群:
https://kubernetes.io/docs/getting-started-guides/kubeadm/
在master主机上安装成功:
并生成了一个令牌:
使用此令牌从节点主机加入:
然后得到错误:
Vagrantfile
: _
并且,主控主机中的 IP 地址:
我设置192.168.33.200
为私有IP。为什么它显示在第三个位置?是node1主机无法访问该主机的原因吗?
但是我对apache服务器做了一个测试。在我httpd
的主机上安装后,我可以从浏览器访问网页:http://192.168.33.200
.
添加
我可以从节点主机(192.168.33.201)SSH 到主主机(192.168.33.200)。但需要密码:
ip route
信息(主控主机192.168.33.200)
vagrant - kubeadm 说使用 weave 的节点的 cni 配置未初始化
我正在尝试使用 kubeadm 1.6 设置 kubernetes。主节点和节点是使用带有 Ubuntu 16.04 框的 Vagrant 创建的。我按照所有说明进行操作,但无法弄清楚。
流浪文件:
初始化 kubeadm
sudo kubeadm init --apiserver-advertise-address=192.168.50.2
运行提供的命令
sudo cp /etc/kubernetes/admin.conf $HOME/ sudo chown $(id -u):$(id -g) $HOME/admin.conf export KUBECONFIG=$HOME/admin.conf
设置编织
kubectl apply --filename https://git.io/weave-kube-1.6
验证主模式已就绪且 dns pod 正在运行。
加入没有错误的节点。
kubeadm 加入 --token 2f17fd.c5f6abcccdfa8c7a 192.168.50.2:6443
节点出现在主节点上,但从未进入就绪状态。运行 kubectl describe node node1 显示此错误:
KubeletNotReady 运行时网络未准备好:NetworkReady=false 原因:NetworkPluginNotReady 消息:docker:网络插件未准备好:cni 配置未初始化
为什么我会收到此错误?我尝试安装 kubeadm 1.5.6 并得到同样的错误。
请帮忙。
更新 在这里找到了解决方案:How to get kube-dns working in Vagrant cluster using kubeadm and Weave
首先,通过在 master 上运行以下命令找到公共 IP。
在每个节点中,确保任何使用 10.96.0.1(在我的情况下)的进程都被路由到 10.30.3.41 上的主节点。
所以在每个节点上(你可以跳过主节点)使用路由来设置重定向。
proxy - 尝试访问 Kubernetes 仪表板路由到公司代理错误页面
我一直在按照本指南使用 kubeadm 启动 kubernetes。我已经完成了,现在有一个在 Centos7 虚拟机上运行的单机集群。我安装了一个 pod 网络(Weave Net),还安装了 Kubernetes Dashboard。接下来,我运行kubectl proxy
它并响应Starting to serve on 127.0.0.1:8001
.
但是,每当我尝试使用 localhost:8001/ui 或 127.0.0.1:8001/ui 访问仪表板时,我都会被重定向到链接到我的公司代理的错误页面,通知我尝试访问http://10.32时网关超时.0.4/ .
现在,我想有一些配置,其中 10.32.0.4 不包含在某些异常中,所以我开始在 no_proxy 和 NO_PROXY 中将它添加到 env,我在 GUI 的实际代理设置中指定它,我已经确定docker 设置为具有相同的异常。我什至(据我所知)完全删除了代理设置的任何痕迹,希望它不会尝试通过公司代理到达应该是内部地址的地方。附加信息:
我真的不知道从这里去哪里。这里有很多活动部件,我找不到在重定向发生时查看问题所在的方法。
docker - kubeadm docker flannel 集成
在 kubeadm 之前,我使用这些步骤将 flannel ip 和 mtu 值带到 docker。
Step 1:停止 Docker 和 Flannel
Step 2:启动 Flannel 并检查其状态;
第 3 步:像这样更新 Docker 启动脚本
第 4 步:启动 Docker 并检查其状态。
这个步骤是怎么做的kubeadm
?我看到 Docker 守护进程首先启动,然后 Flannel 作为容器启动,试图低估集成过程。
谢谢
kubernetes - 如何在防火墙后执行“kubeadm init”v1.6.4
是否可以在没有 Internet 访问权限的情况下运行“kubeadm init”?
在不允许主机建立外部连接的隔离网络上执行 kubeadm init 时,它在下载某种稳定版本检查时失败,因为它试图检索https://storage.googleapis.com/kubernetes-release/发布/稳定-1.6.txt。
为什么需要这个检查?该 URL 的内容今天似乎是“v1.6.4”,即安装的版本:
这似乎是 1.6.0 之后引入的行为。我查看了文档、标志、配置选项,但没有找到执行 kubeadm init 的方法(甚至没有 --skip-preflight-checks)。
networking - 为 Kubernetes 服务分配外部 IP
编辑:我的设置的重点是实现(如果可能的话)以下内容:
- 我有多个 k8s 节点
- 当我联系一个 IP 地址(来自我公司的网络)时,它应该被路由到我的容器/pod/service/whatever 之一。
- 我应该能够轻松设置该 IP(就像在我的服务 .yml 定义中一样)
我正在运行一个小型 Kubernetes 集群(使用 kubeadm 构建),以评估是否可以将我的 Docker(旧)Swarm 设置移动到 k8s。我绝对需要的功能是能够为容器分配 IP,就像我对 MacVlan 所做的那样。
在我当前的 docker 设置中,我使用 MacVlan 将我公司网络中的 IP 地址分配给一些容器,这样我就可以直接访问(无需反向代理),就像它是任何物理服务器一样。我正在尝试用 k8s 实现类似的东西。
我发现:
- 我必须使用服务
- 我不能使用LoadBalancer类型,因为它仅适用于兼容的云提供商(如 GCE 或 AWS)。
- 我应该使用ExternalIPs
- 入口资源是某种反向代理?
我的 yaml 文件是:
我希望我的服务能够获得 IP ABCD(这是我公司的网络之一)。我的部署工作正常,因为我可以使用它的ClusterIP从 k8s 集群内部访问我的 nginx 容器。
我错过了什么?或者至少,我在哪里可以找到关于我的网络流量的信息,以便查看数据包是否来了?
编辑:
谢谢。
amazon-web-services - Kubernetes 显示错误“用户“系统:匿名”无法进入集群范围。”
我已经使用 kubeadm 在 AWS EC2 上创建了 kubernetes 集群,我可以看到所有连接的节点,并且我的部署和服务也在工作。即使我公开了我的部署,我也可以从集群外部访问它,但是当我尝试从外部或本地访问 kubernetes api 时,我得到了错误
“用户“system:anonymous”无法进入集群范围。”
我的集群信息显示了这一点:
172.31.25.217是集群的本地IP
我正在使用最新版本的 kubectl 和 kubeadm
即使我尝试运行 kubectl proxy 并从 IP 上的集群外部访问仪表板:http://MASTER_IP:8001/ui,我也无法执行此操作,并且它显示连接被拒绝。
我缺少什么技巧?谁能帮我 ?
Kubectl 配置视图:`
`
kubernetes - 如何完全卸载 Kubernetes
我按照本指南使用kubeadm安装了 kubernetes 集群。一段时间后,我决定重新安装 K8s,但遇到了删除所有相关文件的麻烦,并且在官方网站上找不到任何文档如何删除通过 kubeadm 安装的集群。是否有人遇到过同样的问题并知道删除所有文件和依赖项的正确方法?先感谢您。
有关更多信息,我删除了 kubeadm、kubectl和kubelet usingapt-get purge/remove
但是当我再次开始安装集群时,我得到了下一个错误: