系列文章:
容器 & 服务:开篇,压力与资源
容器 & 服务:一个 Java 应用的 Docker 构建实战
容器 & 服务:Docker 应用的 Jenkins 构建
容器 & 服务:Docker 应用的 Jenkins 构建 (二)
容器 & 服务:K8s 与 Docker 应用集群 (一)
容器 & 服务:K8s 与 Docker 应用集群 (二)
容器 & 服务:Kubernetes 构件及 Deployment 操作
容器 & 服务: ClickHouse 与 k8s 架构
容器 & 服务: 扩容
容器 & 服务:metrics-server 探索
容器 & 服务:Helm Charts(一)
容器 & 服务:Helm Charts(二)安装与使用
容器 & 服务:Helm Charts(三)K8s 集群信息
回到容器系列,前面我们在本地环境搭建了Kubernetes集群,但访问api server时遇到一些问题,还没有处理完毕,本篇尝试解决。
本地接口访问地址:https://localhost:6443/, 接口返回的数据如下:
{
"kind": "Status",
"apiVersion": "v1",
"metadata": {
},
"status": "Failure",
"message": "forbidden: User \"system:anonymous\" cannot get path \"/\"",
"reason": "Forbidden",
"details": {
},
"code": 403
}
如上所示,status 为 Failure,说明访问失败;错误信息为:forbidden: User \"system:anonymous\" cannot get path \"/\"。可见是权限相关问题,code为403。
通过相关资料查询,是访问证书的问题。通过使用client-certificate-data和client-key-data生成一个p12文件,添加证书,可以解决。
Kubernetes证书生成可参考文章:https://blog.csdn.net/shenshouer/article/details/53035948。涉及的证书类型包括:
四 raw.githubusercontent.com无法访问问题
在github代码下载,或本文中安装dashboard需要访问github上的文件时,会出现GitHub网页githubusercontent地址无法访问的问题,这会直接阻塞我们的操作流程。错误信息如下:
curl -o kubernetes-dashboard.yaml https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended/kubernetes-dashboard.yaml
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
curl: (7) Failed to connect to raw.githubusercontent.com
port 443: Connection refused
这个问题的解决方案,我们可以参考文章:解决GitHub网页githubusercontent地址无法访问问题。重点在于hosts文件配置,在/etc/hosts中,增加一行 199.232.96.133 raw.githubusercontent.com。注:地址可能发生变化,如果发现无效,那么参考 GitHub加速指南进阶版 获取最新版的站点地址。
hosts配置完成后,先ping :
访问正常,再次尝试下载配置文件:
k8s-for-docker-desktop % curl -o kubernetes-dashboard.yaml https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended/kubernetes-dashboard.yaml
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 14 100 14 0 0 11 0 0:00:01 0:00:01 --:--:-- 11
下载成功。