KubeSphere集群安装-nfs分布式文件共享-对接Harbor-对接阿里云镜像仓库-遇到踩坑记录
KubeSphere安装和使用集群版
官网:https://www.kubesphere.io/zh/
使用 KubeKey 内置 HAproxy 创建高可用集群:https://www.kubesphere.io/zh/docs/v3.3/installing-on-linux/high-availability-configurations/internal-ha-configuration/
- 安装前注意
必须把当前使用的DNS
设置成 223.5.5.5
或者其他,千万不要设置成内网的,要不然一堆问题。
cd /etc/sysconfig/network-scripts/
- 刷新网络
systemctl restart network
虽然每个机器上的名字是不一样的,但是看的方法就是这样。
设置DNS
,宿主机要不要设置不太清楚,但是我是把宿主机和所有虚拟机都设置了。
一、安装
安装前准备-所有机器都需要
安装之前,在所有的机器上安装好docker
,并设置好镜像源等信息。虽然kubeKey
会检测docker
,没有安装自动安装最新版本,但是我们提前手动安装好比较好。
- 安装docker
参照docker安装文档
- 关闭防火墙
systemctl stop firewalld
- 永久关闭防火墙
systemctl disable firewalld
- 设置主机名
hostname master1
hostname master2
hostname node1
hostname node2
hostname node3
- 查询主机名称
hostname
- 安装需依赖
yum install socat -yyum install conntrack -yyum install ebtables -y
yum install ipset -y
以上操作每个机器都必须操作。
下载kubeKey
我是用的是 使用 KubeKey 内置 HAproxy 创建高可用集群
方式集群。
- 创建文件夹保存
kubeKey
mkdir -p /opt/kubesphere
cd /opt/kubesphere
- 下载kubeKey
export KKZONE=cn
curl -sfL https://get-kk.kubesphere.io | VERSION=v3.0.7 sh -
上面这个有些时间很难下载,一台机器下载不了换另一台,下载下来传到master
机器上安装,这里应该是随意一台上安装都可以的,毕竟配置文件里面是指定了master
节点机器和node
节点机器的。
- 给kk添加权限
chmod +x kk
创建集群配置文件
- 创建包含默认配置的示例配置文件
./kk create config --with-kubesphere v3.3.2 --with-kubernetes v1.22.12
更改集群配置文件
config-sample.yaml
配置文件就是集群的配置文件,在里面配置集群所有信息。
- 完整配置如下
apiVersion: kubekey.kubesphere.io/v1alpha2
kind: Cluster
metadata:name: sample
spec:hosts: # 配置所有的主节点和从节点 user 当前节点的用户名,password:当前节点的密码。用户名密码是linux的登录用户名和密码 # address 和 internalAddress 都填写当前机器的ip地址- {name: master1, address: 192.168.124.238, internalAddress: 192.168.124.238, user: root, password: "root"}- {name: master2, address: 192.168.124.76, internalAddress: 192.168.124.76, user: root, password: "root"}- {name: node1, address: 192.168.124.202, internalAddress: 192.168.124.202, user: root, password: "root"}- {name: node2, address: 192.168.124.223, internalAddress: 192.168.124.223, user: root, password: "root"}- {name: node3, address: 192.168.124.47, internalAddress: 192.168.124.47, user: root, password: "root"}roleGroups:etcd: # 填写主节点名称,上面 hosts中配置的name- master1- master2control-plane: # 填写主节点名称,上面 hosts中配置的name- master1- master2worker: # 从节点名称- node1- node2- node3controlPlaneEndpoint:## Internal loadbalancer for apiservers internalLoadbalancer: haproxy # 这里是高可用时,原来是注释掉的,需要去掉注释domain: lb.kubesphere.localaddress: ""port: 6443kubernetes:version: v1.22.12clusterName: cluster.localautoRenewCerts: truecontainerManager: dockeretcd:type: kubekeynetwork:plugin: calicokubePodsCIDR: 10.233.64.0/18kubeServiceCIDR: 10.233.0.0/18## multus support. https://github.com/k8snetworkplumbingwg/multus-cnimultusCNI:enabled: falseregistry:privateRegistry: ""namespaceOverride: ""registryMirrors: []insecureRegistries: []addons: []---
apiVersion: installer.kubesphere.io/v1alpha1
kind: ClusterConfiguration
metadata:name: ks-installernamespace: kubesphere-systemlabels:version: v3.3.2
spec:persistence:storageClass: ""authentication:jwtSecret: ""zone: ""local_registry: ""namespace_override: ""# dev_tag: ""etcd:monitoring: falseendpointIps: localhostport: 2379tlsEnable: truecommon:core:console:enableMultiLogin: trueport: 30880type: NodePort# apiserver:# resources: {}# controllerManager:# resources: {}redis:enabled: falsevolumeSize: 2Giopenldap:enabled: falsevolumeSize: 2Giminio:volumeSize: 20Gimonitoring:# type: externalendpoint: http://prometheus-operated.kubesphere-monitoring-system.svc:9090GPUMonitoring:enabled: falsegpu:kinds:- resourceName: "nvidia.com/gpu"resourceType: "GPU"default: truees:# master:# volumeSize: 4Gi# replicas: 1# resources: {}# data:# volumeSize: 20Gi# replicas: 1# resources: {}logMaxAge: 7elkPrefix: logstashbasicAuth:enabled: falseusername: ""password: ""externalElasticsearchHost: ""externalElasticsearchPort: ""alerting:enabled: false# thanosruler:# replicas: 1# resources: {}auditing:enabled: false# operator:# resources: {}# webhook:# resources: {}devops:enabled: true # 启动devops插件# resources: {}jenkinsMemoryLim: 8GijenkinsMemoryReq: 4GijenkinsVolumeSize: 8Gievents:enabled: false# operator:# resources: {}# exporter:# resources: {}# ruler:# enabled: true# replicas: 2# resources: {}logging:enabled: true # 启用日志插件logsidecar:enabled: truereplicas: 2# resources: {}metrics_server:enabled: falsemonitoring:storageClass: ""node_exporter:port: 9100# resources: {}# kube_rbac_proxy:# resources: {}# kube_state_metrics:# resources: {}# prometheus:# replicas: 1# volumeSize: 20Gi# resources: {}# operator:# resources: {}# alertmanager:# replicas: 1# resources: {}# notification_manager:# resources: {}# operator:# resources: {}# proxy:# resources: {}gpu:nvidia_dcgm_exporter:enabled: false# resources: {}multicluster:clusterRole: nonenetwork:networkpolicy:enabled: falseippool:type: nonetopology:type: noneopenpitrix:store:enabled: falseservicemesh:enabled: falseistio:components:ingressGateways:- name: istio-ingressgatewayenabled: falsecni:enabled: falseedgeruntime:enabled: falsekubeedge:enabled: falsecloudCore:cloudHub:advertiseAddress:- ""service:cloudhubNodePort: "30000"cloudhubQuicNodePort: "30001"cloudhubHttpsNodePort: "30002"cloudstreamNodePort: "30003"tunnelNodePort: "30004"# resources: {}# hostNetWork: falseiptables-manager:enabled: truemode: "external"# resources: {}# edgeService:# resources: {}terminal:timeout: 600
上面的配置文件配置好后,直接安装。
./kk create cluster -f config-sample.yaml
接下来的操作和安装 all-in-one
的表现是一样的了。
- 验证安装
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f
这里无论是访问主节点的ip:30880还是从节点的ip:30880都可以访问到web管理页面。
相关文章:

KubeSphere集群安装-nfs分布式文件共享-对接Harbor-对接阿里云镜像仓库-遇到踩坑记录
KubeSphere安装和使用集群版 官网:https://www.kubesphere.io/zh/ 使用 KubeKey 内置 HAproxy 创建高可用集群:https://www.kubesphere.io/zh/docs/v3.3/installing-on-linux/high-availability-configurations/internal-ha-configuration/ 特别注意 安装前注意必须把当前使…...

Epuck2机器人固件更新及IP查询
文章目录 前言一、下载固件更新软件包:二、查询机器人在局域网下的IP 前言 前面进行了多机器人编队仿真包括集中式和分布式,最近打算在实物机器人上跑一跑之前的编队算法。但由于Epuck2机器人长时间没使用,故对其进行固件的更新,…...

C goto 语句
C 语言中的 goto 语句允许把控制无条件转移到同一函数内的被标记的语句。 注意:在任何编程语言中,都不建议使用 goto 语句。因为它使得程序的控制流难以跟踪,使程序难以理解和难以修改。任何使用 goto 语句的程序可以改写成不需要使用 goto 语…...

【排序算法】-- 深入理解桶排序算法
概述 在计算机科学中,排序算法是一种对数据进行有序排列的重要技术。桶排序(Bucket Sort)是一种常见的排序算法,它通过将数据分到有限数量的桶中,并对每个桶中的数据分别排序,最后按照顺序将所有桶中的数据…...

【Linux】Ubuntu使用Netplan配置静态/动态IP
1、说明 Ubuntu 18.04开始,Ubuntu和Debian移除了以前的ifup/ifdown命令和/etc/network/interfaces配置文件,转而使用ip link set或者/etc/netplan/01-netcfg.yaml模板和sudo netplan apply命令实现网络管理。 Netplan 是抽象网络配置描述器,用于配置Linux网络。 通过netpla…...

chatGLM3+chatchat实现本地知识库
背景 由于客服存在大量的问题为FAQ问题,需要精准回复客户,所以针对此类精准问题,通过自建同量数量库进行回复。 落地方案 通过chatGLM3-6Blangchain-chatchatbge-large-zh实现本地知识库库。 注意:相关介绍和说明请看官网~ 配置要…...

webpack5零基础入门-11处理html资源
1.目的 主要是为了自动引入打包后的js与css资源,避免手动引入 2.安装相关包 npm install --save-dev html-webpack-plugin 3.引入插件 const HtmlWebpackPlugin require(html-webpack-plugin); 4.添加插件(通过new方法调用) /**插件 *…...

el-input设置max、min无效的解决方案
目录 一、方式1:type“number” 二、方式2:oninput(推荐) 三、计算属性 如下表所示,下面为官方关于max,min的介绍: el-input: max原生属性,设置最大值min原生属性&a…...
C语言经典面试题目(十八)
1、如何在C语言中实现堆排序算法? 堆排序是一种利用堆数据结构进行排序的算法。它的基本思想是首先将待排序的数组构建成一个最大堆(或最小堆),然后逐步将堆顶元素与堆中最后一个元素交换,并重新调整堆,使…...

[数据集][目标检测]零售柜零食检测数据集VOC+YOLO格式5422张113类
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):5422 标注数量(xml文件个数):5422 标注数量(txt文件个数):5422 标注…...

Flask vs. Django:选择适合你的Web开发框架【第134篇—Flask vs. Django】
👽发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 Flask vs. Django:选择适合你的Web开发框架 在选择一个适合你项目的Web开发框架…...
你能解释一下Spring AOP(面向切面编程)的概念和用法吗?在Spring中,如何使用事务管理?
你能解释一下Spring AOP(面向切面编程)的概念和用法吗? Spring AOP(面向切面编程)是Spring框架中一个非常重要的功能模块,它允许开发者通过预编译方式和运行期动态代理来实现程序功能的统一维护。AOP并不是…...

时序分解 | Matlab实现GWO-CEEMDAN基于灰狼算法优化CEEMDAN时间序列信号分解
时序分解 | Matlab实现GWO-CEEMDAN基于灰狼算法优化CEEMDAN时间序列信号分解 目录 时序分解 | Matlab实现GWO-CEEMDAN基于灰狼算法优化CEEMDAN时间序列信号分解效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.CEEMDAN方法的分解效果取决于白噪声幅值权重(Nstd)和噪声添…...
Spring Boot(七十):利用Jasypt对数据库连接进行加密
1 Jasypt简介 Jasypt(Java Simplified Encryption)是一个专注于简化Java加密操作的工具。它提供了一种简单而强大的方式来处理数据的加密和解密,使开发者能够轻松地保护应用程序中的敏感信息,如数据库密码、API密钥等。 Jasypt的设计理念是简化加密操作,使其对开发者更加…...
Mysql设计规范
主键推荐默认用递增字符串大小合理设置数据库默认字段: 主键、创建人、创建时间、修改人、修改时间、逻辑删除(可选)、乐观锁(可选)冗余字段: 严禁冗余变更字段;例如: 创建人名称,租…...

Vue3项目部署安装
Vue3ts部署 查看官网安装项目vue3的命令(四个)其中有: yarn create vuelatest 我执行时遇到报错,可能是我yarn版本不是最新 的问题, 改用这个命令去掉latest即可 yarn create vue 新项目先要安装yarn依赖,才能yarn …...
Oracle P6 Professional 配置连接数据库总结
前言 P6 Professional作为Oracle P6计划管理系统的重要套件之一,其操作出色,体检佳,是非常多的计划工程师跟踪项目进度计划的辅助工具。自20年前,Professional一直在不断的演变更新,以适应当前的新技术,从…...

WPF —— Grid网格布局
1 :Grid网格布局简介 Grid为WPF中最常用的布局容器, 作为View中的主要组成部分, 负责框架中整体的页面布局。 2:网格标签Grid.ColumnDef Grid.ColumnDefinitions自定义列 只能设置宽度 不能设置高度ColumnDefinition 每一个列可以设置宽度,…...

爬虫的去重
去重基本原理 爬虫中什么业务需要使用去重 防止发出重复的请求防止存储重复的数据 在爬取网页数据时,避免对同一URL发起重复的请求,这样可以减少不必要的网络流量和服务器压力,提高爬虫的效率,在将爬取到的数据存储到数据库或其…...

elementUI两个select单选框联动
实现需求:两个单选框内容两栋,在选择第一个时,第二个选框能自动更新对应选项。且在切换第一个选项内容时,第二个选框会被清空且切换到新的对应选项。 设置值班班次和备班情况两个选项 ,完整代码如下: <…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...