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 修改 hostname
背景 之前安装Linux系统的时候,没有明确指定.现在因为在做某些实验的时候,为了更好地区分我所登录的每一台服务器. 于是有了此文. 做法 首先修改/etc/hostname,修改为自己想要的名字xx ...
- Qt 之 emit、signals、slot的使用
背景 ref : https://www.ibm.com/developerworks/cn/linux/guitoolkit/qt/signal-slot/index.html 信号和槽机制是 QT ...
- python基础-基本语句
1 条件语句 在进行逻辑判断时,我们需要用到条件语句,Python 提供了 if.elif.else 来进行逻辑判断.格式如下所示: 1 if 判断条件1: 2 执行语句1... 3 elif 判断条 ...
- 【论文阅读】自动驾驶光流任务 DeFlow: Decoder of Scene Flow Network in Autonomous Driving
再一次轮到讲自己的paper!耶,宣传一下自己的工作,顺便完成中文博客的解读 方便大家讨论. Title Picture Reference and pictures paper: https://a ...
- Ubuntu下的NVIDIA显卡【驱动&CUDA 安装与卸载】
碎碎念:主要是把显卡相关的整合出来,基础知识后面再放上来 显卡安装后可以有效降低电脑开太多界面卡顿hhh现象,不过如果显卡不好的话或者是独显的话 问题也不大,主要是学习 learning 使用 参考资 ...
- 全国产RK3568J + FPGA的PCIe、FSPI通信实测数据分享!
测试数据汇总 案例 时钟频率 理论速率 测试结果 FSPI通信案例 150MHz 71.53MB/s 读速率:67.452MB/s 写速率:52.638MB/s PCIe通信案例 100MHz 803 ...
- BI小班课程表:PowerBI、finebi、quickbi,每周开课
为了帮助更多BI的友友更好的接触BI,并应用于实践工作中,我决定将我这些年的工作经验和付费咨询的实际经验,拿出一部分基础并且实用的知识和方法整理成课程.其中 PowerBI十节课,计划20个小时: F ...
- helloworld - 程序员的第一个社区终于来了
helloworld - 程序员的第一个社区终于来了 csdn事件 CSDN旗下的GitCode最近因为一种极其不道德的行为引起了开发者的广泛愤怒和抗议.CSDN在没有通知或征求开发者同意的情况下,悄 ...
- VSCode如何设置Vue前端的debug调试
vscode在调试vue.代码时,如何进行debug? 1.安装Chrome Debug插件. 2.在launch.json中,将url修改成你前端项目的路径: 1 { 2 // Use Intell ...
- C++11标准库<chrono><future> <atomic><condition_variable><mutex><thread>梳理 (5万字)
<chrono> C++11中提供了日期和时间相关的库chrono. chrono库主要包含三种类型的类:时间间隔duration.时钟clocks.时间点time point. 时间间隔 ...