Kubernetes 初学部署遇到的问题
### Kubernetes 部署文档(CentOS 7.9)
本文采用centos9 截至2024年8月21日官网已经不再提供其他下载 直接用最新版即可
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 的一些关键步骤和问题解决方法。如果有更多问题或需要进一步的帮助,请随时告知!
Kubernetes 初学部署遇到的问题的更多相关文章
- Kubernetes一键部署利器:kubeadm
要真正发挥容器技术的实力,你就不能仅仅局限于对 Linux 容器本身的钻研和使用. 这些知识更适合作为你的技术储备,以便在需要的时候可以帮你更快的定位问题,并解决问题. 而更深入的学习容器技术的关键在 ...
- 简化kubernetes应用部署工具之Helm应用部署
介绍 微服务和容器化给复杂应用部署与管理带来了极大的挑战.Helm是目前Kubernetes服务编排领域的唯一开源子项目,做为Kubernetes应用的一个包管理工具,可理解为Kubernetes的a ...
- [原]CentOS7安装Rancher2.1并部署kubernetes (二)---部署kubernetes
################## Rancher v2.1.7 + Kubernetes 1.13.4 ################ ##################### ...
- [原]CentOS7安装Rancher2.1并部署kubernetes (一)---部署Rancher
################## Rancher v2.1.7 + Kubernetes 1.13.4 ################ ##################### ...
- [译]Kubernetes 分布式应用部署和人脸识别 app 实例
原文地址:KUBERNETES DISTRIBUTED APPLICATION DEPLOYMENT WITH SAMPLE FACE RECOGNITION APP 原文作者:skarlso 译文出 ...
- kubernetes应用部署原理
Kubernetes应用部署模型解析(原理篇) 十多年来Google一直在生产环境中使用容器运行业务,负责管理其容器集群的系统就是Kubernetes的前身Borg.其实现在很多工作在Kubernet ...
- Centos下Kubernetes+Flannel部署(新)
一.准备工作 1) 三台centos主机 k8s master: 10.11.151.97 tc-151-97 k8s node1: 10.11.151.100 tc-151-100 k8s no ...
- centos下kubernetes+flannel部署(旧)
更合理的部署方式参见<Centos下Kubernetes+Flannel部署(新)> 一.准备工作 1. 三台centos主机 k8s(即kubernetes,下同)master: 10. ...
- 简化Kubernetes应用部署工具-Helm
[编者的话]微服务和容器化给复杂应用部署与管理带来了极大的挑战.Helm是目前Kubernetes服务编排领域的唯一开源子项目,做为Kubernetes应用的一个包管理工具,可理解为Kubernete ...
- kubernetes安装部署-day01
一.基础环境的准备: 1.1.安装docker: docker的官网是:https://www.docker.com/ 1.1.1.rpm包安装: 官方下载地址:https://download.do ...
随机推荐
- 在Linux驱动中使用timer定时器
在Linux驱动中使用timer定时器 原文(有删改): https://www.cnblogs.com/chen-farsight/p/6226562.html 介绍 内核定时器是内核用来控制在未来 ...
- MQTT协议介绍与Broker列表
MQTT协议介绍 MQTT是什么? MQTT 是基于 Publish/Subscribe(发布/订阅) 模式的物联网通信协议,凭借简单易实现.支持 QoS.报文小等特点. 官网:https://mqt ...
- v-model 的原理?
我们在 vue 项目中主要使用 v-model 指令在表单 input.textarea.select 等元素上创建双向数据绑定,我们知道 v-model 本质上不过是语法糖,v-model 在内部为 ...
- Oracle 递归拼接字段
效果 sql SELECT LISTAGG(T.NAME, ' / ') WITHIN GROUP(ORDER BY LEVEL DESC) AS RESULT FROM S_WORK_RESOURS ...
- Java-Filter:过滤器请求拦截
1.概念 web中的过滤器:当访问服务器资源时,过滤器可以将请求拦截下来,完成一些特殊的功能 过滤器的作用: 一般用于完成通用的操作,如:登录验证,统一编码处理,敏感字符过滤 2.快速入门 1.步骤 ...
- PHP+Redis 实例【一】点赞 + 热度
前言 点赞其实是一个很有意思的功能.基本的设计思路有大致两种, 一种自然是用mysql(写了几百行的代码都还没写完,有毒)啦 数据库直接落地存储, 另外一种就是利用点赞的业务特征来扔到redis(或m ...
- C#全局键盘监听(Hook)的使用
一.为什么需要全局键盘监听? 在某些情况下应用程序需要实现快捷键执行特定功能,例如大家熟知的QQ截图功能Ctrl+Alt+A快捷键,只要QQ程序在运行(无论是拥有焦点还是处于后台运行状态),都可以按下 ...
- pytorch问题记录
1.找不到fused 2.找不到torch_extensions 网上的教程一般都是linux系统的,Windows这个是在C盘目录下 3.c++开发环境中找不到vcvars64.bat 解决方法:重 ...
- vue3源码学习api-vue-sfc文件编译
vue 最有代表性质的就是.VUE 的文件,每一个vue文件都是一个组件,那么vue 组件的编译过程是什么样的呢 Vue 单文件组件 (SFC)和指令 ast 语法树 一个 Vue 单文件组件 (SF ...
- 记一次eclipse导入的JavaEE项目无法连接数据库的排查
1.问题描述 Eclipse导入了一个JavaEE项目 在虚拟机环境中新建了一个数据库 数据库可以使用本地客户端工具正常连接 导入的JavaEE项目修改了数据源配置后无法启动 相同的数据源配置通过在I ...