多节点模式部署
多节点模式是指在多个节点上部署KubeSphere,是最常见的部署形态。多节点集群由至少一个主节点和一个工作节点组成。
- 在所有节点安装依赖。
yum install -y curl socat conntrack openssl ipset ipvsadm
- 下载安装工具KubeKey。
- 预下载容器镜像包。
默认拉取的defaultbackend容器镜像不支持Arm架构,为了确保容器能够在Arm架构上正常运行,需要拉取支持Arm架构的容器镜像包到本地,并替换为默认的镜像tag。操作如下:
docker pull mirrorgooglecontainers/defaultbackend-arm64:1.4 docker tag mirrorgooglecontainers/defaultbackend-arm64:1.4 mirrorgooglecontainers/defaultbackend-amd64:1.4
- 使用KubeKey创建配置文件。
本文中以指定Kubernetes v1.23.10和KubeSphere v3.4.1版本为例进行说明。
cd /home ./kk create config --with-kubernetes v1.23.10 --with-kubesphere v3.4.1
- 默认生成的配置文件名为config-sample.yaml。
- “--with-kubernetes version”参数用于指定安装的Kubernetes(支持的Kubernetes版本请参见https://github.com/kubesphere/kubekey/blob/master/README_zh-CN.md#KubernetesVersions)。如果不添加“--with-kubernetes”或不指定“version”的版本号,则将默认安装v1.23.10版本。
- “--with-kubesphere version”参数用于指定安装的KubeSphere版本。如果不添加“--with-kubesphere”则不安装KubeSphere,如果不指定“version”的版本号则默认安装最新版本的KubeSphere。
- 修改配置文件。
- 打开配置文件。
vi config-sample.yaml
- 按“i”进入编辑模式,在配置文件中添加节点信息。本示例包括以下三个节点,主节点充当任务机。
主机IP地址
主机名
角色
192.168.1.102
master
control plane, etcd
192.168.1.100
node1
worker
192.168.1.103
node2
worker
将spec字段后面的信息配置为如下内容:
spec: hosts: - {name: master, address: 192.168.1.102, internalAddress: 192.168.1.102, user: root, password: "kubesphere123", arch: arm64} - {name: node1, address: 192.168.1.100, internalAddress: 192.168.1.100, user: root, password: "kubesphere123", arch: arm64} - {name: node2, address: 192.168.1.103, internalAddress: 192.168.1.103, user: root, password: "kubesphere123", arch: arm64} roleGroups: etcd: - master control-plane: - master worker: - node1 - node2
修改完成后如下图所示:
参照上述配置内容在hosts中列出所有服务器的详细信息:
- name:节点的主机名。注意不支持大写的主机名,否则将导致安装过程无法正常结束。
- address:该节点与其他节点之间ssh相互连接所使用的IP地址。根据实际环境填写,可以是公有IP地址或者私有IP地址。
- internalAddress:节点的私有IP地址。
- user:用户名。
- password:密码。注意密码中不要带#。
- arch:硬件架构。
在roleGroups中针对每个角色分配对应的节点:
- etcd:etcd节点。
- control-plane:主节点。通常托管控制平面,控制和管理整个系统。
- worker:工作节点。运行部署在工作节点上的实际应用程序。
将etcd字段后面的信息修改为如下内容,开启etcd监控。
monitoring: true
修改完成后如下图所示:
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 打开配置文件。
- 部署Kubernetes集群。
在管理节点执行如下命令创建一个Kubernetes集群。
./kk create cluster -f config-sample.yaml
执行本步骤命令后,KubeKey将检查您的安装环境,结果显示为一张表格,并提示“Continue this installation? [yes/no]:”。请检查依赖项是否都满足,然后输入“yes”,再按回车继续。
安装过程中会联网下载相关组件包。
安装完成后输出信息中会显示Web控制台的IP地址和端口号,默认的端口号是“30880”。现在,您可以使用默认用户(admin)和密码(P@88w0rd)并通过<NodeIP>:30880(本例中为“http://192.168.1.102:30880”)访问KubeSphere的Web控制台。
父主题: 部署KubeSphere