当前位置:网站首页>安装部署KubeSphere管理kubernetes
安装部署KubeSphere管理kubernetes
2022-07-31 06:40:00 【余生大大】
highlight: tomorrow-night
- 携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天,点击查看活动详情
前言
KubeSphere是Kubernetes的多集群管理的分布式操作系统,并且支持了DevOps工作流,并且它的架构可以非常方便地使第三方应用与云原生生态组件进行即插即用 (plug-and-play) 的集成。
KubeSphere 提供了运维友好的向导式操作界面,帮助企业快速构建一个强大和功能丰富的容器云平台。
KubeSphere 为用户提供构建企业级 Kubernetes 环境所需的多项功能,例如:
- 多云与多集群管理、
- Kubernetes 资源管理、
- DevOps、
- 应用生命周期管理、
- 微服务治理(服务网格)、
- 日志查询与收集、服务与网络、
- 多租户管理、
- 监控告警、
- 事件与审计查询、
- 存储管理、
- 访问权限控制、
- GPU 支持、
- 网络策略、
- 镜像仓库管理以及安全管理等。
kubernetes的安装部署也一直是一大痛点,但是KubeSphere开源了KubeKey可以一键在公有云或数据中心快速搭建 Kubernetes 集群,提供单节点、多节点、集群插件安装,以及集群升级与运维。
接下来的安装就是基于kubeKey进行的安装
1. 环境配置
本篇配置:
操作系统 | 硬件配置 | 数量 |
---|---|---|
CentOS7.6 | 2 核 CPU,4 GB 内存,60 GB 磁盘空间 | 1台 |
官方支持的操作系统及最低配置
操作系统 | 最低配置 |
---|---|
Ubuntu16.04, 18.04 | 2 核 CPU,4 GB 内存,40 GB 磁盘空间 |
DebianBuster, Stretch | 2 核 CPU,4 GB 内存,40 GB 磁盘空间 |
CentOS7.x | 2 核 CPU,4 GB 内存,40 GB 磁盘空间 |
Red Hat Enterprise Linux 7 | 2 核 CPU,4 GB 内存,40 GB 磁盘空间 |
SUSE Linux Enterprise Server 15/openSUSE Leap 15.2 | 2 核 CPU,4 GB 内存,40 GB 磁盘空间 |
安装前最好保证环境是纯净环境,我这里是云服务器,重装了CentOS7.6系统
支持容器
使用KubeKey进行安装会默认安装最新容器,也可以在使用KubeKey进行安装前安装好指定容器
以下是支持的容器版本
支持的容器 | 版本 |
---|---|
Docker | 19.3.8 + |
containerd | 最新版 |
CRI-O(试验版,未经充分测试) | 最新版 |
iSula(试验版,未经充分测试) | 最新版 |
Kubernetes依赖
KubeKey可以指定安装Kubernetes 和 KubeSphere ,但是不同版本的Kubernetes有不同的依赖要求
依赖项 | Kubernetes 版本 ≥ 1.18 | Kubernetes 版本 < 1.18 |
---|---|---|
socat | 必须 | 可选但建议 |
conntrack | 必须 | 可选但建议 |
ebtables | 可选但建议 | 可选但建议 |
ipset | 可选但建议 | 可选但建议 |
2. 配置软件依赖
第一步: 关闭防火墙
systemctl disable firewalld
systemctl stop firewalld
systemctl status firewalld
第二步:关闭swap分区
swapoff -a
echo "vm.swappiness=0" >> /etc/sysctl.conf
sysctl -p /etc/sysctl.conf
第三步:配置epel源
rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
第四步:更新yum
yum -y update
第五步:安装依赖组件
也就是上面的Kubernetes依赖里的内容,全部安装
yum install -y ebtables socat ipset conntrack
3. 安装KubeSphere和kubernetes
使用KubeKey可以选择安装KubeSphere和kubernetes的其中一个,也可以全部安装
第一步:下载KubeKey
如果网络不好的小伙伴无法下载默认源,执行以下命令设置国内下载
export KKZONE=cn
下载KubeKey:
curl -sfL https://get-kk.kubesphere.io | VERSION=v2.2.1 sh -
给KubeKey添加可执行权限
chmod +x kk
第二步:安装KubeSphere和kubernetes
在安装前请先检查hostname,如果不符合规则会报以下错误
error: Pipeline[CreateClusterPipeline] execute failed: Module[InitKubernetesModule] exec failed:
failed: [VM-20-8-centos] [AddWorkerLabel] exec failed after 5 retires: add worker label failed: Failed to exec command: sudo -E /bin/bash -c "/usr/local/bin/kubectl label --overwrite node VM-20-8-centos node-role.kubernetes.io/worker="
Error from server (NotFound): nodes "VM-20-8-centos" not found: Process exited with status 1
这时候就需要修改hostname,因为我们是单机安装就设置为master吧,执行以下命令
hostnamectl --static set-hostname master
设置完成后使用hostnamectl status
命令进行核验
执行以下命令安装KubeSphere和kubernetes:
./kk create cluster --with-kubernetes v1.22.10 --with-kubesphere v3.3.0
如果只需要安装KubeSphere或者kubernetes其中一个去掉–with的另一个就可以
这次安装的时间很长,起身活动一下
第三步:安装完成核验
安装完成后执行以下命令查看安装结果
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
输出信息会显示 Web 控制台的 IP 地址和端口号,默认的 NodePort 是 30880
。现在可以使用默认的帐户和密码 (admin/[email protected]
) 通过 <NodeIP>:30880
访问控制台。
第四步:登陆系统
在浏览器上访问ip+30880的地址出现以下页面
使用默认的帐户和密码 (admin/[email protected]
)进行登陆,登陆后就可以探索KubeSphere了
但是真正使用k8s集群单机是不可以的,下篇文章是多节点集群的配置
边栏推荐
- opencv、pil和from torchvision.transforms的Resize, Compose, ToTensor, Normalize等差别
- 【第四章】详解Feign的实现原理
- [PSQL] SQL Basic Course Reading Notes (Chapter1-4)
- Postgresql source code learning (33) - transaction log ⑨ - see the overall process of log writing from the insert record
- Gradle remove dependency demo
- Shellshock
- [Interview: Concurrency 38: Multithreading: Thread Pool] Basic concepts of the ThreadPoolExecutor class
- 毫米波技术基础
- Foreign trade website optimization - foreign trade website optimization tutorial - foreign trade website optimization software
- 多进程全局变量失效、变量共享问题
猜你喜欢
随机推荐
【科普向】5G核心网架构和关键技术
解决win11/win10在登陆界面(解锁界面)点击获取每日壁纸无效的问题 - get Daily Lockscreen and Wallpaper - Win11/10的登录界面背景图片在哪里?
【愚公系列】2022年07月 Go教学课程 022-Go容器之字典
Log4net 思维导图
PCB抄板
链表实现及任务调度
DAY18:Xss 靶场通关手册
基于LSTM的诗词生成
2022.07.14_每日一题
Machine Learning - Notes and Implementation of Linear Regression, Logistic Regression Problems
‘vite‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
MySQL安装到最后一步 write configuration file 失败 怎么办?及后安装步骤
Chapter 9 Exceptions try...except...else...finally
MySQL installation to the last step in the write the configuration file failed?And after the installation steps
iOS大厂面试查漏补缺
完美指南|如何使用 ODBC 进行无代理 Oracle 数据库监控?
文件 - 02 上传文件:上传临时文件到服务器
CNN--各层的介绍
2022.07.12_每日一题
【面试:并发篇37:多线程:线程池】自定义线程池