问题标签 [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.

0 投票
1 回答
2640 浏览

kubernetes - Kubernetes 1.8 Kubeadm 配置 kubelet 未在节点上启动

我已经使用 kuebadm 配置了 1.8 集群 1 个主节点,2 个节点。当我关闭并重新启动节点时,kubelet 没有启动,它正在编译证书。相同的步骤适用于旧版本的 Kubernetes。

不知道为什么它在重新启动后丢失了证书。我多次删除并重新创建了集群,结果相同。

解决此问题的任何提示?

谢谢

0 投票
1 回答
3258 浏览

docker - 如何为 Kubernetes 桌面 UI 配置简单的登录/通过身份验证

我是 kubernetes 的新手,我只是通过 kubeadm 安装 kubernetes 并运行仪表板 UI,但无法配置对它的访问。在文档之后,我将行添加--basic-auth-file=/etc/kubernetes/auth.csv到 /etc/kubernetes/manifests/kube-apiserver.yaml,创建文件并放入一个字符串,如pass,admin,admin. 但是在删除此字符串并重新启动服务器后,该 api 服务器崩溃并恢复正常。如何在不导致 api 服务器崩溃的情况下将此参数传递给 api 服务器,并且可能需要从该文件中添加或删除其他内容?这是我的

kube-apiserver.yaml

0 投票
1 回答
1031 浏览

kubernetes - Kubernetes Kubeadm 单节点,仪表板“格式错误的 http 响应”

我刚刚按照 kubeadm 指南设置了一个单节点 Kubernetes 集群。集群本身看起来不错,并且所有 pod 都正常运行:

我使用以下方法安装了仪表板:

我尝试通过运行“sudo kubectl proxy”在本地提供 kubrnetes 仪表板。

当我加载“ http://127.0.0.1:8001 ”时,我得到了 API 端点列表,一切看起来都很好。但是当我添加 /ui 来加载仪表板(http://127.0.0.1:8001/ui)时,我得到以下响应:

另请注意,上面的 URL 被重定向到 API:

如果我用 HTTPS 替换 HTTP,我会收到“安全连接失败,SSL 收到的记录超出了最大允许长度”。

如果我尝试在不使用 kubectl 代理的情况下加载仪表板,例如使用主 IP,我会收到连接被拒绝。

我在 Ubuntu 16.04 上运行,我的 kubectl 版本详细信息如下:

0 投票
2 回答
854 浏览

kubernetes - kubernetes slave 无法使用 kubeadm v1.8 加入 master

kubeadmjoin on slave 找到 master,但 master 从来没有看到 slave:

0 投票
0 回答
948 浏览

kubernetes - Kubernetes 仪表板:令牌身份验证不起作用

我已经让仪表板本身在运行,我可以使用此处给出的任何服务帐户令牌进行登录。但是,当我使用此处所示的令牌(通过运行kubectl config set-credentials myuser --token=some_token)创建用户时,由于身份验证被拒绝,我无法使用该令牌登录仪表板。

我发现了这个问题,并在将令牌放入文件后相应地修改了 API Server 清单。当我使用 username 和 uid 时它可以工作default,但是当我将两者都更改为 时,即使在 API Server 重新启动后myuser它仍然会登录。default

为什么这不起作用?

kubeadm在 Ubuntu 16.04 上使用 v1.8.1配置的集群

0 投票
1 回答
270 浏览

kubernetes - 使用 kubadm 在多个云提供商上设置集群

我正在尝试在来自两个不同云提供商的两台机器上使用 kubeadm 设置 Kubernetes 集群。

这些是我采取的步骤:

  1. 我有两台 ubuntu 机器,一台来自 AWS,一台来自 Google Cloud
  2. 我创建了一个 VPN 并将两台机器加入其中
  3. 对于kubelet,我设置--node-ip为机器的VPN ip地址
  4. 对于kubeadm init,我传递了--apiserver-advertise-address标志并将其设置为机器的 VPN ip 地址

我正在使用 kubernetes v1.7.5 和 ubuntu 16.04。

我能够初始化一个新的主节点并将节点加入它(使用kubeadm join)。kubectl get nodes返回两个节点的状态Ready

但是,当我创建新部署(或扩展现有部署)并且在节点上分配新 pod 时,就会出现问题。服务发现和 DNS 解析在节点上调度的任何 pod 中都不起作用。我尝试 ping 外部 IP 并且它可以工作,但是与 DNS 有关的任何事情都不起作用。请注意,我正在使用 flannel 驱动程序进行网络连接。

我认为从节点无法访问 kubernetes 内置 DNS。有关如何解决此问题的任何想法?是否可以使用 kubeadm 实现这样的目标?

0 投票
3 回答
2982 浏览

kubernetes - 如何在裸机安装上从外部访问 kubernetes 服务

试图制作一个裸机 k8s 集群来提供一些服务,并且需要能够在 tcp 端口 80 和 udp 端口​​ 69 上提供它们(可从 k8s 集群外部访问。)我已经使用 kubeadm 设置了集群并且它正在运行 ubuntu 16.04。如何从外部访问服务?我一直在尝试使用负载均衡器和入口,但没有运气,因为我没有使用外部负载均衡器(本地而不是 AWS 等)

我正在尝试做的一个例子可以在这里找到,但它使用的是 GCE。

谢谢

0 投票
1 回答
537 浏览

docker - 如何为docker配置polipo的HTTP代理来部署Kubernetes

我是 Docker 的初学者。想知道这样做是否是一种好习惯以及最好的方法是什么?

系统:Ubuntu LTS 16.04.2

我想用代理在我的服务器上部署 Kubernetes。由于一些问题,我使用 polipo 将 sock5 代理转换为 http 代理。http代理已成功应用到终端。然后我搜索了: https ://docs.docker.com/engine/admin/systemd/#http-proxy 并在/etc/systemd/system/docker.service.d/http-proxy 中添加了 HTTP_PROXY 环境变量。配置

[服务]

环境="HTTP_PROXY= http://127.0.0.1:8123/ "

然后这样做:

$ sudo systemctl show --property Environment docker Environment=HTTP_PROXY= http://127.0.0.1:8123/

$ sudo systemctl 守护进程重载

$ sudo systemctl 重启泊坞窗

然后我成功安装了kubelet kubeadm kubectl kubernetes-cni并运行了以下命令:

# kubeadm 初始化

这是操作的结果:

root@ubuntu16:~# kubeadm init

[kubeadm] 警告:kubeadm 处于测试阶段,请勿将其用于生产集群。

[init] 使用 Kubernetes 版本:v1.8.2

[init] 使用授权模式:[Node RBAC]

[飞行前] 运行飞行前检查

[预检]警告:连接到“ https://59.64.78.138:6443 ”使用代理

http://127.0.0.1:8123/ ”。如果这不是故意的,请调整您的代理设置

[预检] 启动 kubelet 服务

[kubeadm] 警告:从 1.8 开始,默认情况下令牌会在 24 小时后过期(如果您需要不会过期的令牌,请使用 --token-ttl 0)

[证书] 生成的 ca 证书和密钥。

[证书] 生成的 apiserver 证书和密钥。

[证书] 为 DNS 名称 [ubuntu16 kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] 和 IP [10.96.0.1 my_server_IP ]签名的 apiserver 服务证书

[证书] 生成 apiserver-kubelet-client 证书和密钥。

[证书] 生成 sa 密钥和公钥。

[证书] 生成的 front-proxy-ca 证书和密钥。

[证书] 生成的前端代理客户端证书和密钥。

[证书] 有效的证书和密钥现在存在于“/etc/kubernetes/pki”中

[kubeconfig] 将 KubeConfig 文件写入磁盘:“admin.conf”

[kubeconfig] 将 KubeConfig 文件写入磁盘:“kubelet.conf”

[kubeconfig] 将 KubeConfig 文件写入磁盘:“controller-manager.conf”

[kubeconfig] 将 KubeConfig 文件写入磁盘:“scheduler.conf”

[controlplane] 将组件 kube-apiserver 的静态 Pod 清单写入“/etc/kubernetes/manifests/kube-apiserver.yaml”

[controlplane] 将组件 kube-controller-manager 的静态 Pod 清单写入“/etc/kubernetes/manifests/kube-controller-manager.yaml”

[controlplane] 将组件 kube-scheduler 的静态 Pod 清单写入“/etc/kubernetes/manifests/kube-scheduler.yaml”

[etcd] 将本地 etcd 实例的静态 Pod 清单写入“/etc/kubernetes/manifests/etcd.yaml”

[init] 等待 kubelet 作为静态 Pod 从目录“/etc/kubernetes/manifests”启动控制平面

[init] 这通常需要大约一分钟;如果必须拉取控制平面图像,则需要更长的时间。

然后它没有继续,我跑了

# systemctl status kubelet

● kubelet.service - kubelet:Kubernetes 节点代理

已加载:已加载(/lib/systemd/system/kubelet.service;已启用;供应商预设:已启用)

插入:/etc/systemd/system/kubelet.service.d

活动:自 2017 年 11 月 5 日星期日 21:17:37 CST 起活动(运行);9分钟前

主PID:19363(kubelet)

任务:14

内存:39.9M

CGroup:/system.slice/kubelet.service

kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/k

11 月 5 日 21:26:28 ubuntu16 kubelet[19363]:W1105 21:26:28.959628 19363 cni.go:196] 无法更新 cni 配置:没有 ne

Nov 05 21:26:28 ubuntu16 kubelet[19363]: E1105 21:26:28.960538 19363 kubelet.go:2095] 容器运行时网络不

11 月 5 日 21:26:33 ubuntu16 kubelet[19363]:W1105 21:26:33.962500 19363 cni.go:196] 无法更新 cni 配置:没有 ne

Nov 05 21:26:33 ubuntu16 kubelet[19363]: E1105 21:26:33.963407 19363 kubelet.go:2095] 容器运行时网络不

11 月 5 日 21:26:38 ubuntu16 kubelet[19363]:W1105 21:26:38.974986 19363 cni.go:196] 无法更新 cni 配置:没有 ne

11 月 5 日 21:26:38 ubuntu16 kubelet[19363]: E1105 21:26:38.975851 19363 kubelet.go:2095] 容器运行时网络不

11 月 5 日 21:26:43 ubuntu16 kubelet[19363]:W1105 21:26:43.977879 19363 cni.go:196] 无法更新 cni 配置:没有 ne

Nov 05 21:26:43 ubuntu16 kubelet[19363]: E1105 21:26:43.978806 19363 kubelet.go:2095] 容器运行时网络不

11 月 5 日 21:26:48 ubuntu16 kubelet[19363]:W1105 21:26:48.992642 19363 cni.go:196] 无法更新 cni 配置:没有 ne

Nov 05 21:26:48 ubuntu16 kubelet[19363]: E1105 21:26:48.993587 19363 kubelet.go:2095] 容器运行时网络不

第 1-23/23 行(完)

现在我很困惑如何解决这个问题。我在网上找了很久。但是没有用。请帮助或尝试提供一些想法如何实现这一目标。

提前致谢。

0 投票
1 回答
1103 浏览

docker - 工作节点在 Kubernetes 中始终显示 NotReady 状态

当我加入Kubernetes集群中的工作节点时,工作节点的状态显示为NotReady,节点的角色显示为(使用命令kubectl get nodes)。我使用的 Kubernetes 版本v1.8.2在主节点和工作节点上。我使用的 Docker 版本是17.03.1-ce. 工作节点上的 Kublet 登录如下:

可能是什么问题。此外,当我在工作节点上启动 pod 时,它们保持在PENDING状态,而当我在主节点上启动它们时,它们只会被执行

0 投票
0 回答
1093 浏览

docker - 无法在 Kubernetes 的工作节点上启动法兰绒网络

将工作节点加入集群时,我在工作节点上收到以下错误:

此外,当我运行命令kubectl get pods --all-namespaces以获取系统状态时。显示以下内容

在这里,我可以看到网络初始化 podkube-flannel-ds-hwdx8kube-proxy-p65z8工作节点上根本没有启动。可能是什么问题。当我在集群中使用 Wea​​ve-net Network 而不是法兰绒时,也会发生类似的事情。以下是我通过运行得到的日志kubectl describe nodes