linux部署KubeSphere和k8s集群

上一篇文章讲述了在单个节点上安装 KubeSphere和k8s,这节主要讲解k8s多节点集群部署

准备环境:
Alibaba Cloud Linux系统3台机器
linux部署KubeSphere和k8s集群_第1张图片

第一步:设置主机名称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系统,那么这些基础依赖早已安装,时间都是上海时间也不需要改。

其他依赖
linux部署KubeSphere和k8s集群_第2张图片

通过下面查看必须的依赖包是否已经安装
 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
默认如下:

linux部署KubeSphere和k8s集群_第3张图片

(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 节点名称                      ---一般都是master
  • control-plane:主节点名称          ---一般都是master
  • worker:工作节点名称                   ---一般都是node

如图所示:

linux部署KubeSphere和k8s集群_第4张图片

(3)、选择需要的插件,将no改成yes
如图所示:
linux部署KubeSphere和k8s集群_第5张图片

第六步:使用配置文件创建集群
./kk create cluster -f config-sample.yaml
整个安装过程可能需要 10 到 20 分钟,具体取决于您的计算机和网络环境。

linux部署KubeSphere和k8s集群_第6张图片
输出信息会显示 Web 控制台的 IP 地址和端口号,默认的 NodePort 是 30880。现在,您可以使用默认的帐户和密码 (admin/P@88w0rd) 通过 :30880 访问控制台

 
重点:第四步、第五步、第六步都在master节点上执行。

master节点,如图所示:
linux部署KubeSphere和k8s集群_第7张图片

node1节点,如图所示:
linux部署KubeSphere和k8s集群_第8张图片

node2节点,如图所示: 
linux部署KubeSphere和k8s集群_第9张图片

 
第七步:kubesphere界面查看集群情况
登录后,可以看到集群服务
linux部署KubeSphere和k8s集群_第10张图片

集群节点情况,如图所示:
linux部署KubeSphere和k8s集群_第11张图片

至此简单的集群搭建完毕。
 

重点:集群节点的新增、删除
操作如下:
linux部署KubeSphere和k8s集群_第12张图片

新增节点:添加新节点

删除节点:删除节点

------------------------------------------------------------------------------------------------------------------------------------

安装插件
第一步:查询cluster
linux部署KubeSphere和k8s集群_第13张图片

 第二步:编辑
linux部署KubeSphere和k8s集群_第14张图片

插件如下:
linux部署KubeSphere和k8s集群_第15张图片

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
------------------------------------------------------------------------------------------------------------------------------------------

你可能感兴趣的:(架构,k8s,kubernetes,linux,docker)