上一篇文章讲述了在单个节点上安装 KubeSphere和k8s,这节主要讲解k8s多节点集群部署
准备环境:Alibaba Cloud Linux系统3台机器
第一步:设置主机名称hostname--(3台机器都设置)
hostnamectl set-hostname master
hostnamectl set-hostname node1
hostnamectl set-hostname node2
第二步:安装docker(3台机器都设置)
docker版本要超过19.3.8 +
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
yum -y install docker-ce
systemctl enable docker && systemctl start docker
配置镜像---一定要配置,不然k8s启动各种报错,已尝试
进入 /etc/docker,没有daemon.json文件就自己新建一个
编辑daemon.json文件:
加入这段代码:
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
然后重启docker:systemctl restart docker.service
第三步:基础依赖组件安装(3台机器都设置)
SSH
访问。sudo
/curl
/openssl
/tar
。rpm -qa openssl --查看是否安装openssl,如果查询到就已经安装了
timedatectl --查看时间是否是上海时区,如果不是需要修改
ssh root@ip --master服务器对其他node节点进行连接测试
重点说明:如果是阿里云Alibaba Cloud Linux系统,那么这些基础依赖早已安装,时间都是上海时间也不需要改。
其他依赖
通过下面查看必须的依赖包是否已经安装
rpm -qa socat
rpm -qa conntrack
如果有没有,执行一下命令
yum install socat conntrack ebtables ipset
第四步:下载KubeKey(k8s都是通过这个软件来安装的)
创建一个目录/usr/local/project目录下
在主节点master上执行,依次执行如下两个命令:
export KKZONE=cn
curl -sfL https://get-kk.kubesphere.io | VERSION=v3.0.2 sh -
# 赋执行权限: chmod +x kk
第五步:创建集群
1、创建配置
./kk create config --with-kubernetes [version] --with-kubesphere [version] ---version是版本号
指定安装版本号,如下:
./kk create config --with-kubernetes v1.22.12 --with-kubesphere v3.3.1 ---会默认生成一个文件 config-sample.yaml
2、编辑配置文件
编辑 config-sample.yaml
默认如下:
(1)、其中主要修改hosts
如果是root密码登录修改方式如下:
默认 root 用户示例:
- {name: master, address: 121.40.70.17, internalAddress: 10.0.1.3, port: 22, user: root, password: ywl2023@}
使用 SSH 密钥的无密码登录示例:
- {name: master, address: 121.40.70.17, internalAddress: 10.0.1.3, privateKeyPath: "~/.ssh/id_rsa"}
解释说明:
:实例的主机名。
name
address
:任务机和其他实例通过 SSH 相互连接所使用的 IP 地址。根据您的环境,可以是公有 IP 地址或私有 IP 地址。例如,一些云平台为每个实例提供一个公有 IP 地址,用于通过 SSH 访问。在这种情况下,您可以在该字段填入这个公有 IP 地址。
internalAddress
:实例的私有 IP 地址。
(2)、修改roleGroups
etcd
:etcd 节点名称 ---一般都是mastercontrol-plane
:主节点名称 ---一般都是masterworker
:工作节点名称 ---一般都是node第六步:使用配置文件创建集群
./kk create cluster -f config-sample.yaml
整个安装过程可能需要 10 到 20 分钟,具体取决于您的计算机和网络环境。
输出信息会显示 Web 控制台的 IP 地址和端口号,默认的 NodePort 是 30880
。现在,您可以使用默认的帐户和密码 (admin/P@88w0rd
) 通过
访问控制台
重点:第四步、第五步、第六步都在master节点上执行。
master节点,如图所示:
第七步:kubesphere界面查看集群情况
登录后,可以看到集群服务
至此简单的集群搭建完毕。
新增节点:添加新节点
删除节点:删除节点
------------------------------------------------------------------------------------------------------------------------------------
KubeSphere日志系统
KubeSphere 为日志收集、查询和管理提供了一个强大的、全面的、易于使用的日志系统。它涵盖了不同层级的日志,包括租户、基础设施资源和应用。用户可以从项目、工作负载、容器组和关键字等不同维度对日志进行搜索。与 Kibana 相比,KubeSphere 基于租户的日志系统中,每个租户只能查看自己的日志,从而可以在租户之间提供更好的隔离性和安全性。除了 KubeSphere 自身的日志系统,该容器平台还允许用户添加第三方日志收集器,如 Elasticsearch、Kafka 和 Fluentd。
参考地址:
KubeSphere 日志系统
KubeSphere DevOps 系统
基于 Jenkins 的 KubeSphere DevOps 系统是专为 Kubernetes 中的 CI/CD 工作流设计的,它提供了一站式的解决方案,帮助开发和运维团队用非常简单的方式构建、测试和发布应用到 Kubernetes。它还具有插件管理、Binary-to-Image (B2I)、Source-to-Image (S2I)、代码依赖缓存、代码质量分析、流水线日志等功能。
参考地址:KubeSphere DevOps 系统
KubeSphere 应用商店
作为一个开源的、以应用为中心的容器平台,KubeSphere 在 OpenPitrix 的基础上,为用户提供了一个基于 Helm 的应用商店,用于应用生命周期管理。OpenPitrix 是一个开源的 Web 平台,用于打包、部署和管理不同类型的应用。KubeSphere 应用商店让 ISV、开发者和用户能够在一站式服务中只需点击几下就可以上传、测试、安装和发布应用
参考地址:KubeSphere 应用商店
KubeSphere 告警系统
告警是可观测性的重要组成部分,与监控和日志密切相关。KubeSphere 中的告警系统与其主动式故障通知 (Proactive Failure Notification) 系统相结合,使用户可以基于告警策略了解感兴趣的活动。当达到某个指标的预定义阈值时,会向预先配置的收件人发出告警。因此,您需要预先配置通知方式,包括邮件、Slack、钉钉、企业微信和 Webhook。有了功能强大的告警和通知系统,您就可以迅速发现并提前解决潜在问题,避免您的业务受影响。
参考地址:KubeSphere 告警系统
具体安装看官方文档说明
官方中文文档:部署 | KubeSphere Documents
------------------------------------------------------------------------------------------------------------------------------------------