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

image

可能需要下载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用来网页登录
image

3.3 SSL 证书问题及解决方法

在部署完 Kubernetes Dashboard 后,可能会遇到 SSL 证书问题,无论是使用端口转发还是 NodePort 访问,浏览器都会提示“您的连接不是私密连接”。

解决方法:

在浏览器拦截提示页面,直接在键盘上输入 thisisunsafe。输入后,浏览器将允许继续访问 Dashboard 界面。

请注意,这只是一个临时解决方案,无法彻底解决问题。切换到其他浏览器依然会遇到相同的 SSL 拦截问题,但对于测试用途来说已经足够。


这就是在 CentOS 7.9 上部署 Kubernetes 的一些关键步骤和问题解决方法。如果有更多问题或需要进一步的帮助,请随时告知!

posted @ 2024-08-21 02:47  rainsc  阅读(25)  评论(0编辑  收藏  举报