### 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 初学部署遇到的问题的更多相关文章

  1. Kubernetes一键部署利器:kubeadm

    要真正发挥容器技术的实力,你就不能仅仅局限于对 Linux 容器本身的钻研和使用. 这些知识更适合作为你的技术储备,以便在需要的时候可以帮你更快的定位问题,并解决问题. 而更深入的学习容器技术的关键在 ...

  2. 简化kubernetes应用部署工具之Helm应用部署

    介绍 微服务和容器化给复杂应用部署与管理带来了极大的挑战.Helm是目前Kubernetes服务编排领域的唯一开源子项目,做为Kubernetes应用的一个包管理工具,可理解为Kubernetes的a ...

  3. [原]CentOS7安装Rancher2.1并部署kubernetes (二)---部署kubernetes

    ##################    Rancher v2.1.7  +    Kubernetes 1.13.4  ################ ##################### ...

  4. [原]CentOS7安装Rancher2.1并部署kubernetes (一)---部署Rancher

    ##################    Rancher v2.1.7  +    Kubernetes 1.13.4  ################ ##################### ...

  5. [译]Kubernetes 分布式应用部署和人脸识别 app 实例

    原文地址:KUBERNETES DISTRIBUTED APPLICATION DEPLOYMENT WITH SAMPLE FACE RECOGNITION APP 原文作者:skarlso 译文出 ...

  6. kubernetes应用部署原理

    Kubernetes应用部署模型解析(原理篇) 十多年来Google一直在生产环境中使用容器运行业务,负责管理其容器集群的系统就是Kubernetes的前身Borg.其实现在很多工作在Kubernet ...

  7. 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 ...

  8. centos下kubernetes+flannel部署(旧)

    更合理的部署方式参见<Centos下Kubernetes+Flannel部署(新)> 一.准备工作 1. 三台centos主机 k8s(即kubernetes,下同)master: 10. ...

  9. 简化Kubernetes应用部署工具-Helm

    [编者的话]微服务和容器化给复杂应用部署与管理带来了极大的挑战.Helm是目前Kubernetes服务编排领域的唯一开源子项目,做为Kubernetes应用的一个包管理工具,可理解为Kubernete ...

  10. kubernetes安装部署-day01

    一.基础环境的准备: 1.1.安装docker: docker的官网是:https://www.docker.com/ 1.1.1.rpm包安装: 官方下载地址:https://download.do ...

随机推荐

  1. 3568F-评估板测试手册(ARM端)

     

  2. ComfyUI进阶篇:ComfyUI核心节点(一)

    ComfyUI进阶篇:ComfyUI核心节点(一) 前言: 学习ComfyUI是一场持久战.当你掌握了ComfyUI的安装和运行之后,会发现大量五花八门的节点.面对各种各样的工作流和复杂的节点种类,可 ...

  3. Java(screw)生成数据库表结构

    数据库支持 MySQL MariaDB TIDB Oracle SqlServer PostgreSQL Cache DB(2016) 文档生成支持 html word markdown 方式一:代码 ...

  4. JS --函数进阶 --手稿

  5. Intellij IDEA 'Error:java: 无效的源发行版:13'

    第一步,依次点击,File - Settings - Bulid, Execution,Deployment - Compiler - Java Compiler,修改版本为13(你使用的java是哪 ...

  6. Java-Spring JDBC初体验操作数据库

    Spring JDBC * Spring框架对JDBC的简单封装 提供了一个JDBCTemplate对象简化JDBC的开发 步骤 导入jar包 创建JDBCTemplate对象,依赖于数据源DataS ...

  7. Spring MVC 中的拦截器的使用“拦截器基本配置” 和 “拦截器高级配置”

    1. Spring MVC 中的拦截器的使用"拦截器基本配置" 和 "拦截器高级配置" @ 目录 1. Spring MVC 中的拦截器的使用"拦截器 ...

  8. EasyBPM进销存之物料管理

    本文是EasyBPM平台实现进销存系列中的一篇,主要讲述物料的相关的管理. 在ERP系统中,"物料"一词有着广泛的含义,它是所有产品.半成品.在制品.原材料.配套件.协作件.易耗品 ...

  9. 共享库soname机制

    目录 前言 共享库版本号 共享库命名机制 realname soname linkname 总结 参考文章 前言 在使用第三方库时,我们会发现第三方库会提供一组文件,他们的后缀一般是.so(如libn ...

  10. tp5.1--数据库事务操作

    https://blog.csdn.net/qq_42176520/article/details/88708395 使用事务处理的话,需要数据库引擎支持事务处理.比如 MySQL 的 MyISAM  ...