问题标签 [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 - Kubernetes 1.8 Kubeadm 配置 kubelet 未在节点上启动
我已经使用 kuebadm 配置了 1.8 集群 1 个主节点,2 个节点。当我关闭并重新启动节点时,kubelet 没有启动,它正在编译证书。相同的步骤适用于旧版本的 Kubernetes。
不知道为什么它在重新启动后丢失了证书。我多次删除并重新创建了集群,结果相同。
解决此问题的任何提示?
谢谢
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
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 版本详细信息如下:
kubernetes - kubernetes slave 无法使用 kubeadm v1.8 加入 master
kubeadm
join on slave 找到 master,但 master 从来没有看到 slave:
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配置的集群
kubernetes - 使用 kubadm 在多个云提供商上设置集群
我正在尝试在来自两个不同云提供商的两台机器上使用 kubeadm 设置 Kubernetes 集群。
这些是我采取的步骤:
- 我有两台 ubuntu 机器,一台来自 AWS,一台来自 Google Cloud
- 我创建了一个 VPN 并将两台机器加入其中
- 对于kubelet,我设置
--node-ip
为机器的VPN ip地址 - 对于
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 实现这样的目标?
kubernetes - 如何在裸机安装上从外部访问 kubernetes 服务
试图制作一个裸机 k8s 集群来提供一些服务,并且需要能够在 tcp 端口 80 和 udp 端口 69 上提供它们(可从 k8s 集群外部访问。)我已经使用 kubeadm 设置了集群并且它正在运行 ubuntu 16.04。如何从外部访问服务?我一直在尝试使用负载均衡器和入口,但没有运气,因为我没有使用外部负载均衡器(本地而不是 AWS 等)
我正在尝试做的一个例子可以在这里找到,但它使用的是 GCE。
谢谢
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 行(完)
现在我很困惑如何解决这个问题。我在网上找了很久。但是没有用。请帮助或尝试提供一些想法如何实现这一目标。
提前致谢。
docker - 工作节点在 Kubernetes 中始终显示 NotReady 状态
当我加入Kubernetes
集群中的工作节点时,工作节点的状态显示为NotReady,节点的角色显示为无(使用命令kubectl get nodes
)。我使用的 Kubernetes 版本v1.8.2
在主节点和工作节点上。我使用的 Docker 版本是17.03.1-ce
. 工作节点上的 Kublet 登录如下:
可能是什么问题。此外,当我在工作节点上启动 pod 时,它们保持在PENDING
状态,而当我在主节点上启动它们时,它们只会被执行
docker - 无法在 Kubernetes 的工作节点上启动法兰绒网络
将工作节点加入集群时,我在工作节点上收到以下错误:
此外,当我运行命令kubectl get pods --all-namespaces
以获取系统状态时。显示以下内容
在这里,我可以看到网络初始化 podkube-flannel-ds-hwdx8
和kube-proxy-p65z8
工作节点上根本没有启动。可能是什么问题。当我在集群中使用 Weave-net Network 而不是法兰绒时,也会发生类似的事情。以下是我通过运行得到的日志kubectl describe nodes