KubeSphere简单介绍及安装使用

news2024/11/24 19:35:47

KubeSphere 概述

官网地址:https://kubesphere.io/zh/

什么是 kubesphere

KubeSphere 是一个开源的多云容器管理平台,旨在简化企业级 k8s 集群的部署、管理和运维。它提供了一个可视化的管理界面,帮助用户更轻松地管理和监控 k8s 集群,同时集成了常用的 DevOps 工具和服务,如 CI/CD、日志管理、监控告警等,进一步提高了开发和运维效率。KubeSphere 还支持跨云、混合云和多集群的管理,帮助用户更好地应对复杂多样的场景需求。作为一个开源项目,KubeSphere 也积极参与社区,与 k8s 生态系统保持紧密的技术合作和交流。

KubeSphere 愿景是打造一个以 k8s 为内核的云原生分布式操作系统,它的架构可以非常方便地使第三方应用与云原生生态组件进行即插即用(plug-and-play)的集成,支持云原生应用在多云与多集群的统一分发和运维管理。提供简单易用的操作界面以及向导式操作方式,在降低用户使用容器调度平台学习成本的同时,极大减轻开发、测试、运维的日常工作的复杂度。

全栈的 k8s 容器云 PaaS 解决方案,KubeSphere 是在 k8s 之上构建的以应用为中心的多租户(NS、sa )容器平台,提供全栈的 IT 自动化运维的能力,简化企业的 DevOps 工作流。KubeSphere 提供了运维友好的向导式操作界面,帮助企业快速构建一个强大和功能丰富的容器云平台。

KubeSphere 作为企业级的全栈化容器平台,为用户提供了一个极致体验的 Web 控制台,让您能够像使用任何其他互联网产品一样,快速上手各项功能与服务。KubeSphere 目前提供了工作负载管理、微服务治理、DevOps 工程、Source to Image、多租户管理、多维度监控、日志查询与收集、告警通知、服务与网络、应用管理、基础设施管理、镜像管理、应用配置密钥管理等功能模块,并支持对接多种开源的存储与网络方案,支持高性能的商业存储与网络服务。

线上Demo体验:https://kubesphere.cloud/login/?redirect=%2Fconsole%2Fmanaged-cluster%2F

参考设置 pwd:Aa123456.

kubesphere 优点

KubeSphere 具有以下优点:

  1. 简化部署和管理:KubeSphere 提供了一个直观的可视化管理界面,使得用户可以轻松地部署、管理和监控 k8s 集群,无需深入了解底层的技术细节。

  2. 多云支持:KubeSphere 可以集中管理不同云平台上的 k8s 集群,使得用户可以轻松地在多个云提供商之间进行迁移和管理,降低了云厂商锁定的风险。

  3. 集成 DevOps 工具:KubeSphere 集成了常用的 DevOps 工具和服务,如 CI/CD、日志管理、监控告警等,帮助用户构建端到端的开发流水线,提高开发效率和质量。

  4. 多集群管理:KubeSphere 支持跨多个 k8s 集群的管理,使得用户可以轻松地管理和监控多个集群,提供了更好的灵活性和扩展性。

  5. 社区支持和活跃度:KubeSphere 是一个开源项目,积极参与 k8s 社区,与其它项目和工具保持紧密的技术合作和交流,用户可以获得广泛的社区支持和贡献。

总的来说,KubeSphere 简化了 k8s 集群的部署和管理,提供了多云支持、集成 DevOps 工具和多集群管理等功能,使得企业能够更加方便地构建和管理容器化的应用。

kubesphere 的使用场景

KubeSphere 适用于以下场景:

  1. 企业级 k8s 管理:KubeSphere 提供了一个可视化的管理界面,帮助企业更轻松地管理和监控 k8s 集群,包括集群的部署、配置、扩展和升级等。它还提供了权限管理、日志管理、监控告警等功能,适用于大规模的企业级 k8s 管理。

  2. 多云管理:KubeSphere 支持跨多个云提供商的 k8s 集群管理,可以集中管理不同云平台上的集群,帮助企业在不同云之间进行应用迁移和管理,降低了云厂商锁定的风险。

  3. DevOps 实践:KubeSphere 集成了常用的 DevOps 工具和服务,如 CI/CD、日志管理、监控告警等,帮助企业构建端到端的开发流水线。它提供了可视化的 CI/CD 界面,支持自动化构建、测试和部署,提高了开发效率和质量。

  4. 多集群管理:KubeSphere 支持跨多个 k8s 集群的管理,可以轻松地管理和监控多个集群。这对于需要在不同环境中部署应用或者进行灾备和容灾等场景非常有用。

  5. 容器化应用管理:KubeSphere 提供了一套完整的容器化应用管理功能,包括应用的部署、扩展、配置、监控和升级等。它还支持应用市场和插件机制,可以方便地扩展和定制功能。

总的来说,KubeSphere 适用于企业级 k8s 集群的管理、多云场景下的应用迁移和管理、DevOps 实践、多集群管理以及容器化应用管理等场景。它提供了丰富的功能和易用的界面,帮助企业更好地利用 k8s 构建和管理容器化应用。

KubeKey 一键部署 k8s 集群

官方文档:https://kubesphere.io/zh/docs/v3.4/installing-on-linux/introduction/multioverview/

一台master node(初始化主节点)、两台 work node( join加入主节点)

安装docker

#移除以前的docker
sudo yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine

# 配置yum源
sudo yum install -y yum-utils
sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 安装docker    
sudo yum install -y docker-ce docker-ce-cli containerd.io

# 配置阿里云镜像
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://g8vxwvax.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

# 启动Docker
sudo systemctl start docker
# 设置开机启动Docker
sudo systemctl enable docker
 
# 检查是否安装成功
sudo docker run hello-world

系统环境准备

# 节点之中不可以有重复的主机名,mac地址等,设置不同的hostname
hostnamectl set-hostname k8s-master
hostnamectl set-hostname k8s-node1
hostnamectl set-hostname k8s-node2

# 关闭防火墙
sudo systemctl stop firewalld 
sudo systemctl disable firewalld

# 将SElinux设置为permissive模式,禁用
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcin$/SELINUX=permissive/' /etc/selinux/config 

# 关闭swap分区
sudo swapoff -a
sudo sed -ri 's/.*swap.*/#&/' /etc/fstab

# 允许 iptables 检查桥接流量(所有节点)
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

sudo sysctl --system

# 安装依赖
yum -y install socat conntrack ebtables ipset net-tools

# 配置ssh互访,所有节点
ssh-keygen

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.111

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.112

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.113

下载 KubeKey

# 只在master上执行即可
export KKZONE=cn

curl -sfL https://get-kk.kubesphere.io | sh -

# 为 kk 添加可执行权限:
chmod +x kk

创建集群

# 创建集群配置文件
./kk create config --with-kubernetes v1.22.12 --with-kubesphere v3.4.0

vim config-sample.yaml

spec:
  hosts:
  - {name: master, address: 192.168.0.111, internalAddress: 192.168.0.111, user: root, password: "123456"}
  - {name: node1, address: 192.168.0.112, internalAddress: 192.168.0.112, user: root, password: "123456"}
  - {name: node2, address: 192.168.0.113, internalAddress: 192.168.0.113, user: root, password: "123456"}
  roleGroups:
    etcd:
    - master
    control-plane: 
    - master
    worker:
    - node1
    - node2

# 创建集群 整个安装过程可能需要 10 到 20 分钟,具体取决于您的计算机和网络环境
./kk create cluster -f config-sample.yaml

# 安装完成后,您会看到如下内容
10:17:15 CST success: [master]
#####################################################
###              Welcome to KubeSphere!           ###
#####################################################

Console: http://192.168.0.110:30880
Account: admin
Password: P@88w0rd
NOTES:
  1. After you log into the console, please check the
     monitoring status of service components in
     "Cluster Management". If any service is not
     ready, please wait patiently until all components 
     are up and running.
  2. Please change the default password after login.

#####################################################
https://kubesphere.io             2023-10-26 10:25:15
#####################################################
10:25:32 CST success: [master]
10:25:32 CST Pipeline[CreateClusterPipeline] execute successfully
Installation is complete.

Please check the result using the command:

	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

在这里插入图片描述

看到这里就算安装成功!

可拔插组件安装

配置项功能组件描述
alertingKubeSphere 告警系统可以为工作负载和节点自定义告警策略。告警策略被触发后,告警消息会通过不同的渠道(例如,邮件和 Slack)发送至接收人。
auditingKubeSphere 审计日志系统提供一套与安全相关并按时间顺序排列的记录,记录平台上不同租户的活动。
devopsKubeSphere DevOps 系统基于 Jenkins 提供开箱即用的 CI/CD 功能,提供一站式 DevOps 方案、内置 Jenkins 流水线与 B2I & S2I。
eventsKubeSphere 事件系统提供一个图形化的 Web 控制台,用于导出、过滤和警告多租户 Kubernetes 集群中的 Kubernetes 事件。
loggingKubeSphere 日志系统在统一的控制台中提供灵活的日志查询、收集和管理功能。可以添加第三方日志收集器,例如 Elasticsearch、Kafka 和 Fluentd。
metrics_serverHPA根据设定指标对 Pod 数量进行动态伸缩,使运行在上面的服务对指标的变化有一定的自适应能力。
networkpolicy网络策略可以在同一个集群内部之间设置网络策略(比如限制或阻止某些实例 Pod 之间的网络请求)。
kubeedgeKubeEdge为集群添加边缘节点并在这些节点上运行工作负载。
openpitrixKubeSphere 应用商店基于 Helm 的应用程序商店,允许用户管理应用的整个生命周期。
servicemeshKubeSphere 服务网格 (基于 Istio)提供细粒度的流量治理、可观测性、流量追踪以及可视化流量拓扑图。
ippool容器组 IP 池创建容器组 IP 池并从 IP 池中分配 IP 地址到 Pod。
topology服务拓扑图集成 Weave Scope 以查看应用和容器的服务间通信(拓扑图)。
  1. admin 身份登录控制台。点击左上角的平台管理 ,然后选择集群管理。
  2. 点击定制资源定义,然后在搜索栏中输入 clusterconfiguration,点击搜索结果进入其详情页面。
  3. 在自定义资源中,点击 ks-installer 右侧的三个点,然后选择编辑 YAML。
  4. 在该配置文件中,将对应组件 enabledfalse 更改为 true,以启用要安装的组件。完成后,点击确定以保存配置。

根据自己需要的功能来开启对应的服务。

安装好应用商店:本质 Helm 还有 Devops:本质 Jenkins。

添加自己的仓库(项目-应用仓库添加)

bitnami         https://charts.bitnami.com/bitnami                    
azure           http://mirror.azure.cn/kubernetes/charts/             
ali-stable      https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
kaiyuanshe      http://mirror.kaiyuanshe.cn/kubernetes/charts         
harbor          https://helm.goharbor.io 

接下来自己任意玩即可

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Nginx部署VUE3项目

build 打包生成 dist 上传至服务器版本&#xff1a;nginx1.24&#xff0c;dist放置根目录下html下 location / {#项目打包生成的静态文件所在路径 配置要打开的资源的根目录的地址&#xff0c;是以 nginx 下的 html 文件夹中dist为根目录来查找的root html/dist;#默认主页in…

前端学习<二>CSS基础——06-CSS盒模型详解

盒子模型 前言 盒子模型&#xff0c;英文即box model。无论是div、span、还是a都是盒子。 但是&#xff0c;图片、表单元素一律看作是文本&#xff0c;它们并不是盒子。这个很好理解&#xff0c;比如说&#xff0c;一张图片里并不能放东西&#xff0c;它自己就是自己的内容。…

【C语言】strcmp 的使⽤和模拟实现

前言 这篇文章将要带我们去实现模拟一个strcmp函数 首先我们要知道strcmp函数的定义 strcmp()定义和用法 我们先看一下strcmp在cplusplus网站中的定义 链接: link int strcmp ( const char * str1, const char * str2 );比较两个字符串将 C 字符串 str1 与 C 字符串 str2 …

There is no getter for property named ‘deleted‘

实体类在继承BaseEntity的时候,由于没填写deleted参数名导致mybatis报错 这时候要么改application.yml里的mybatis参数&#x1f447; 要么就将BaseEntity基类的delete上加个existfalse&#x1f447;(推荐)

工业互联网下的增强现实

工业互联网下的增强现实 1、 概述 增强现实&#xff08;Augmented Reality&#xff0c;简称AR&#xff09;&#xff0c;增强现实技术也被称为扩增现实&#xff0c;AR增强现实技术是促使真实世界信息和虚拟世界信息内容之间综合在一起的较新的技术内容&#xff0c;其将原本在现…

C语言牛客网BC-37 牛牛的圆(求面积)

题目如下 代码实现 #include<stdio.h> int main() { float r 0;float s 0;scanf("%f",&r);s 3.14*r*r;printf("%.2f",s);return 0; } 创作不易&#xff0c;点点关注&#xff0c;感谢支持&#xff01;&#xff01;&#xff01;

深入解析MD5哈希算法:原理、应用与安全性

码到三十五 &#xff1a; 个人主页 心中有诗画&#xff0c;指尖舞代码&#xff0c;目光览世界&#xff0c;步履越千山&#xff0c;人间尽值得 ! 本文将深入探讨MD5哈希算法的工作原理、应用场景以及安全性问题。我们将了解MD5如何生成固定长度的哈希值&#xff0c;以及它在数…

前端Webpack5高级进阶课程

课程介绍 本套视频教程主要内容包含React/Vue最新版本脚手架分析、基于Webpack5编写自己的loader和plugin等&#xff0c;让你开发时选择更多样&#xff0c;最后&#xff0c;用不到一百行的代码实现Webpack打包。通过本套视频教程的学习&#xff0c;可以帮你彻底打通Webpack的任…

蚂蚁集团Java一面,不只是技术问题,还有系统设计的深度拷问!

下面我将分享一位同学在蚂蚁集团Java一面的面试经历&#xff0c;他的评价是&#xff0c;面试过程中问题很深入&#xff0c;你试试呢&#xff1f; 【提醒】通过这次面试经验&#xff0c;你将可以复习到以下知识点&#xff1a; 线程池的工作原理、参数配置及使用注意事项CPU密集…

java特殊文件——properties属性文件概述

前言&#xff1a; 整理下学习笔记&#xff0c;打好基础&#xff0c;daydayup!! properties properties是一个Map集合&#xff08;键值对合集&#xff09;&#xff0c;但是一般不当作合集。而是用来代表属性文件&#xff0c;通过Properties读写属性文件里的内容 Properties调用方…

【计算机考研】408到底有多难?

你真以为大家是学不会408吗&#xff1f; 不是&#xff01;单纯是因为时间不够&#xff01;&#xff01;&#xff01; 再准确一些就是不会分配时间 408的知识其实并不难&#xff0c;要说想上130那确实有难度&#xff0c;但是100在时间充裕的情况下还是可以做到的 我本人是双…

深入浅出:探索Hadoop生态系统的核心组件与技术架构

目录 前言 HDFS Yarn Hive HBase Spark及Spark Streaming 书本与课程推荐 关于作者&#xff1a; 推荐理由&#xff1a; 作者直播推荐&#xff1a; 前言 进入大数据阶段就意味着 进入NoSQL阶段&#xff0c;更多的是面向OLAP场景&#xff0c;即数据仓库、BI应用等。 …

阅读笔记(MM2023)Learning pixel-wise alignment for unsupervised image stitching

无监督图像拼接中的学习逐像素对齐 Jia, Q., Feng, X., Liu, Y., Fan, X., & Latecki, L. J. (2023, October). Learning pixel-wise alignment for unsupervised image stitching. In Proceedings of the 31st ACM International Conference on Multimedia (pp. 1392-140…

Chrome之解决:浏览器插件不能使用问题(十三)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

自己编译SQLite或将SQLite移植到新的操作系统(六)

返回&#xff1a;SQLite—系列文章目录 上一篇:SQLite中的动态内存分配&#xff08;五&#xff09; 下一篇&#xff1a;SQLite—系列文章目录 1.0 引言 对于大多数应用程序&#xff0c;推荐的构建方法 SQLite是使用合并代码 文件 sqlite3.c 及其相应的头文件 sqlite3.…

配置文件 application properties

配置文件 application properties 1 参数交由配置文件集中管理 Value(“${}”)用于外部配置的属性注入 在之前编写的程序中进行文件上传时&#xff0c;需要调用AliOSSUtils工具类&#xff0c;将文件上传到阿里云OSS对象存储服务当中。而在调用工具类进行文件上传时&#xff0c…

深度学习中的优化问题

深度学习中的优化问题 简要指南 我在 2019 年底左右开始撰写有关数学和机器学习的文章&#xff1b;从那时起&#xff0c;我写了数百篇教育文章&#xff0c;揭示了我们日常使用的算法背后的细节。 让写文章的人 感到尴尬的一个方法是&#xff1a;让他们阅读他们早期的作品。我…

JSON 文档存储详解

JSON&#xff08;JavaScript Object Notation、JavaScript 对象表示法&#xff09;是一种轻量级的数据交换格式&#xff0c;采用完全独立于编程语言的文本格式来存储和表示数据。JSON 易于阅读和编写&#xff0c;同时也方便机器解析和生成&#xff0c;并且能够有效地提升网络传…

Qt中QIcon图标设置(标题、菜单栏、工具栏、状态栏图标)

1 exe程序图标概述 在 Windows 操作系统中&#xff0c;程序图标一般会涉及三个地方&#xff1b; &#xff08;1&#xff09; 可执行程序&#xff08;以及对应的快捷方式&#xff09;的图标 &#xff08;2&#xff09; 程序界面标题栏图标 &#xff08;3&#xff09;程序在任务…

element-ui的el-switch在修改值之前做二次确认操作

如果你直接就在<el-switchv-model"row.balanceCheck"active-color"#13ce66"inactive-color"#EAECF0"change"switchChange($event, row)"></el-switch>switchChange (e, row) {this.$confirm(是否修改&#xff1f;).then((…