Kubernetes 初学部署遇到的问题
### Kubernetes 部署文档(CentOS 7.9)
本文采用centos9 截至2024年8月21日官网已经不再提供其他下载 直接用最新版即可
参考安装教程
cnetos7
https://www.cnblogs.com/yyq1/p/13991453.html
centos9
https://www.cnblogs.com/zengqinglei/p/17131046.html
https://blog.csdn.net/ymb76/article/details/136473563
网络用istoreOS软路由
遇到的问题参考我的博客几篇内容
1. CentOS 7.9 内核版本问题
截至2024年8月21日,CentOS 7.9 不再提供 3.0 以上版本的内核。这可能会对 Kubernetes 的部署和运行产生影响。因此,在使用 CentOS 7.9 时,需要注意这一点,可能需要考虑升级系统或使用替代操作系统。
2. Kubernetes Master Node 意外死亡问题
在部署 Kubernetes 并启动 master 节点后,可能会遇到节点在启动后约 5 分钟内意外死亡的问题。此问题的具体原因尚未查明,但可以通过以下步骤解决:
sudo dnf update
执行上述命令可以升级 Kubernetes 相关插件,从而解决此问题。
3. Kubernetes Dashboard 部署
3.1 安装 Helm
要安装 Kubernetes Dashboard,首先需要安装 Helm。Helm 可以通过官方网站提供的脚本快速安装:
$ curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
$ chmod 700 get_helm.sh
$ ./get_helm.sh
或者,可以直接运行以下命令完成安装:
$ curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
3.2 部署 Kubernetes Dashboard
目前,Kubernetes Dashboard 仅支持基于 Helm 的安装,因为这种方法速度更快,并且可以更好地控制 Dashboard 运行所需的所有依赖项。
部署 Dashboard 的步骤如下:
# 添加 kubernetes-dashboard 仓库
helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/
# 使用 kubernetes-dashboard Chart 部署名为 `kubernetes-dashboard` 的 Helm Release
helm upgrade --install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard --create-namespace --namespace kubernetes-dashboard
查看dashboard
kubectl get pods -n kubernetes-dashboard
可能需要下载recommended.yaml
recommended.yaml
https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yaml
进去修改端口号
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kubernetes-dashboard
spec:
type: NodePort
ports:
- port: 443
targetPort: 8443
nodePort: 32000 # 改为一个在有效范围内的端口
selector:
k8s-app: kubernetes-dashboard
安装配置端口外部访问
kubectl apply -f recommended.yaml
这个过程可能需要等一会才能访问
创建token绑定配置
admin-user-token.yaml
apiVersion: v1
kind: Secret
metadata:
name: admin-user-token
namespace: kubernetes-dashboard
annotations:
kubernetes.io/service-account.name: admin-user
type: kubernetes.io/service-account-token
执行
kubectl apply -f admin-user-token.yaml
使用下面获取token
kubectl -n kubernetes-dashboard describe secret admin-user-token
获取到的token用来网页登录
3.3 SSL 证书问题及解决方法
在部署完 Kubernetes Dashboard 后,可能会遇到 SSL 证书问题,无论是使用端口转发还是 NodePort 访问,浏览器都会提示“您的连接不是私密连接”。
解决方法:
在浏览器拦截提示页面,直接在键盘上输入 thisisunsafe
。输入后,浏览器将允许继续访问 Dashboard 界面。
请注意,这只是一个临时解决方案,无法彻底解决问题。切换到其他浏览器依然会遇到相同的 SSL 拦截问题,但对于测试用途来说已经足够。
这就是在 CentOS 7.9 上部署 Kubernetes 的一些关键步骤和问题解决方法。如果有更多问题或需要进一步的帮助,请随时告知!