离线安装Kubesphere

news/2025/1/9 4:08:20/文章来源:https://www.cnblogs.com/hekang520/p/18641673

1.环境要求 【centos7.X】

1.1依赖项要求

master、node1节点安装

yum install -y socat conntrack ebtables ipset

1.2获取镜像列表

  1. 访问 https://get-images.kubesphere.io/
  2. 选择需要部署的扩展组件。
  3. 填入邮箱地址。
  4. 点击获取镜像列表
  5. 查看填写的邮箱,获取 KubeSphere 最新的版本信息以及镜像列表文件。

2.构建离线安装包【woker节点】

worker节点【联网主机,用于制作离线包】

2.1安装KubeKey

2.1.1下载上传安装包

https://github.com/kubesphere/kubekey/releases/download/v3.1.7/kubekey-v3.1.7-linux-amd64.tar.gz

2.1.2创建manifest文件

# 如需使用 kk 离线部署镜像仓库,添加 --with-registry 打包镜像仓库的安装文件
./kk create manifest --with-kubernetes v1.31.0 --with-registry

2.1.3编辑manifest文件

复制 kk-manifest-mirror.yaml中的镜像列表,添加到新创建的 manifest-sample.yaml 文件中。

2.1.4构建离线包

./kk artifact export -m manifest-sample.yaml -o kubesphere.tar.gz

执行成功后

23:09:47 CST success: [LocalHost]
23:09:47 CST [ChownOutputModule] Chown output file
23:09:47 CST success: [LocalHost]
23:09:47 CST [ChownWorkerModule] Chown ./kubekey dir
23:09:47 CST success: [LocalHost]
23:09:47 CST Pipeline[ArtifactExportPipeline] execute successfully

3. 下载 KubeSphere Core Helm Chart【woker节点】

  1. 安装 helm。

    curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
    
  2. 下载 KubeSphere Core Helm Chart。

    VERSION=1.1.3     # Chart 版本
    helm fetch https://charts.kubesphere.io/main/ks-core-1.1.3.tgz 【访问不了手动下载】
    

4.离线部署【master】

4.1 准备工作

将联网主机 node1 上的三个文件同步至离线环境的 master 节点。

  • kk
  • kubesphere.tar.gz
  • ks-core-1.1.3.tgz

4.2.创建配置文件

  1. 创建离线集群配置文件。

    [root@master ~]# ./kk create config --with-kubernetes v1.31.0 -f config-hmktest.yaml
    
  2. 修改配置文件。

    [root@master ~]# cat config-hmktest.yaml apiVersion: kubekey.kubesphere.io/v1alpha2
    kind: Cluster
    metadata:name: sample
    spec:hosts:- {name: master, address: 192.168.100.55, internalAddress: 192.168.100.55, user: root, password: "000000"}- {name: node1, address: 192.168.100.44, internalAddress: 192.168.100.44, user: root, password: "000000"}roleGroups:etcd:- mastercontrol-plane: - masterworker:- node1registry:- node1controlPlaneEndpoint:## Internal loadbalancer for apiservers # internalLoadbalancer: haproxydomain: lb.kubesphere.localaddress: ""port: 6443kubernetes:version: v1.31.0clusterName: cluster.localautoRenewCerts: truecontainerManager: containerdetcd:type: kubekeynetwork:plugin: calicokubePodsCIDR: 10.233.64.0/18kubeServiceCIDR: 10.233.0.0/18## multus support. https://github.com/k8snetworkplumbingwg/multus-cnimultusCNI:enabled: falseregistry:auths:"dockerhub.kubekey.local":skipTLSVerify: trueprivateRegistry: "dockerhub.kubekey.local"namespaceOverride: "kubesphereio"registryMirrors: []insecureRegistries: []addons: []
    

4.3创建镜像仓库

./kk init registry -f config-hmktest.yaml -a kubesphere.tar.gz
00:02:05 CST success: [node1]
00:02:05 CST [ChownWorkerModule] Chown ./kubekey dir
00:02:05 CST success: [LocalHost]
00:02:05 CST Pipeline[InitRegistryPipeline] execute successfully

4.3.1 创建 harbor 项目(若镜像仓库为 Harbor)[上面配置文件应该有问题]

执行以下命令创建 harbor 项目。

  1. 创建脚本配置文件。

    vi create_project_harbor.sh
    
    #!/usr/bin/env bash# Copyright 2018 The KubeSphere Authors.
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    #     http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.url="https://dockerhub.kubekey.local"  # 或修改为实际镜像仓库地址
    user="admin"
    passwd="Harbor12345"harbor_projects=(kskubespherekubesphereiocorednscalicoflannelciliumhybridnetdevkubeovnopenebslibraryplndrjenkinsargoprojdexidpopenpolicyagentcurlimagesgrafanakubeedgenginxincpromkiwigridminioopensearchprojectistiojaegertracingtimberioprometheus-operatorjimmidysonelasticthanosiobranczprometheus
    )for project in "${harbor_projects[@]}"; doecho "creating $project"curl -u "${user}:${passwd}" -X POST -H "Content-Type: application/json" "${url}/api/v2.0/projects" -d "{ \"project_name\": \"${project}\", \"public\": true}" -k  # 注意在 curl 命令末尾加上 -k
    done
    
  2. 创建 Harbor 项目。

    chmod +x create_project_harbor.sh
    
    ./create_project_harbor.sh
    

5.安装Kubernetes

执行以下命令创建 Kubernetes 集群:./kk create cluster -f config-hmktest.yaml -a kubesphere.tar.gz --with-local-storage

显示信息

00:13:36 CST [DeployStorageClassModule] Deploy OpenEBS as cluster default StorageClass
00:13:36 CST success: [master]
00:13:36 CST Pipeline[CreateClusterPipeline] execute successfully
Installation is complete.

6. 安装 KubeSphere

安装 KubeSphere。

helm upgrade --install -n kubesphere-system --create-namespace ks-core ks-core-1.1.3.tgz \--set global.imageRegistry=dockerhub.kubekey.local/ks \--set extension.imageRegistry=dockerhub.kubekey.local/ks \--set ksExtensionRepository.image.tag=v1.1.2 \--debug \--wait

输出信息:

NOTES:
Thank you for choosing KubeSphere Helm Chart.Please be patient and wait for several seconds for the KubeSphere deployment to complete.1. Wait for Deployment CompletionConfirm that all KubeSphere components are running by executing the following command:kubectl get pods -n kubesphere-system
2. Access the KubeSphere ConsoleOnce the deployment is complete, you can access the KubeSphere console using the following URL:  http://192.168.100.55:308803. Login to KubeSphere ConsoleUse the following credentials to log in:Account: adminPassword: P@88w0rdNOTE: It is highly recommended to change the default password immediately after the first login.
For additional information and details, please visit https://kubesphere.io.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/861446.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

@antv/g2 使用小结

版本:5.2.10 一、引入@antv/g2 import { Chart } from "@antv/g2";二、初始化 # container里类似echarts,可以用id也可以用refs let chart = new Chart({ container: "pie-chart", autoFit: true }); # 如果chart已存在,就是重复渲染的情况 if (chart) …

加分博客

恋爱对象陆思梦,高中同学,暗黑女神(爱称,因为我是迪迦)。 恋爱过程高中应该怎么说呢,我跟她是高中同学,那个时候还没有喜欢她,而是班上的另一个女孩,杨sir,跟杨sir表白被拒后,就没然后了。高中的时候,只觉得她是一个开朗活泼的女孩,她还有个妹妹,是双胞胎,两个…

python 资源管理工具V1

python 资源管理工具V1 资源管理工具V1界面python 3 环境安装 python -m pip install configparser==5.3.0 -i https://pypi.tuna.tsinghua.edu.cn/simple/ python -m pip install pymysql==0.9.3 -i https://pypi.tuna.tsinghua.edu.cn/simple/ python -m pip install pyper…

基于时间轴的项目进度管理工具

在项目管理中,时间轴是一种强大的工具,它能够直观地展示项目的进度、任务的先后顺序以及时间的推移。通过时间轴,项目团队可以清晰地把握项目的整体节奏,及时发现潜在问题,做出合理的决策。市面上基于时间轴的项目进度管理工具众多,每一款都有其独特的特点和优势。本文将…

(数据科学学习手札164)在vscode中调用Deepseek进行AI辅助编程

本文示例配置文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes1 简介大家好我是费老师,最近国产大模型Deepseek v3新版本凭借其优秀的模型推理能力,讨论度非常之高🔥,且其官网提供的相关大模型API接口服务价格一直走的“价格屠夫”路线,性…

【4】0x10服务27服务

1. 0x10服务之诊断会话控制 诊断仪与ECU之间的诊断通信过程就相当于两个人的会话过程,你一言,我一语,会话可以在不同的场景下进行。 0x10服务即诊断会话控制,规定了默认会话(01)、拓展会话(03)、编程会话(02),三种常见的诊断会话。 默认会话:22、14、19、11服务等。…

阳大壮AI助手

你还在为选择哪个AI产品而苦恼吗?试试哥们这个阳大壮http://47.95.159.19:9090/

防护用具穿戴智能识别摄像机

防护用具穿戴智能识别摄像机通过智能技术监测和识别工人是否佩戴了防护用具。这种摄像机可以准确识别工人的身体区域,并通过智能算法检测身体区域是否佩戴了必要的防护用具,实现自动识别和记录。一旦有工人未佩戴防护用具,监测智能识别摄像机会立即发出警报,提醒相关人员及…

springboot~多节点应用里的雪花算法唯一性

雪花算法的唯一性,在单个节点中是可以保证的,对应kubernetes中的应用,如果是横向扩展后,进行多副本的情况下,可能出现重复的ID,这需要我们按着pod_name进行一个workId的生成,我还是建议通过不引入第三方组件和网络请求的前提下解决这个问题,所以我修改了kubernetes的ya…

怎么编写库卡KUKA机器人专业程序,高级写法案例

KUKA程序写法案例分享换抢盘抓抓手程序:DEF Q1_PICKGRPPER( ) :程序名称INI :系统初始化 PTP HOME Vel= 100 % DEFAULT :HOME 原点OUT 272 Grip2_Bracket_Open State=TRUE :输出272抓手2防尘盖打开信号为真OUT 271 Grip2_Bra…

佩戴安全头盔监测识别摄像机

佩戴安全头盔监测识别摄像机作为一种先进的监控设备,对于提高工作场所的安全水平和管理效率具有重要意义。然而,在使用过程中,我们也需要注意保护员工的隐私和个人信息安全,加强数据的保护和管理,在促进工作场所安全的同时,也保障员工的合法权益。同时,也需要结合国家相…

收获满满:2024软工已通关

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13315这个作业的目标 回顾课程学习情况并总结收获学号 102202114一、学期回顾 初闻软件工程 第一次听说软件工程,就知道这是一门不好…