服务器如何进行部署?

发布于 2024-04-17 10:29:33

服务器怎么部署?

查看更多

关注者
0
被浏览
337
1 个回答
xss
xss 2024-04-17
这家伙很懒,什么也没写!

linux多节点安装K8s和Kubesphere

在生产环境中,单节点集群由于集群资源有限并且计算能力不足,无法满足大部分需求。因此,不建议在处理大规模数据时使用单节点集群。此外,这类集群只有一个节点,因此也不具有高可用性。相比之下,在应用程序部署和分发方面,多节点架构是最常见的首选架构。

概念

多节点集群由至少一个主节点和一个工作节点组成,可以使用任何节点作为任务机来执行安装任务。您可以在安装之前或之后根据需要新增节点(例如,为了实现高可用性)。

lMaster:主节点,通常托管控制平面,控制和管理整个系统。

Worker:工作节点,运行部署在其之上的实际应用程序。

1、步骤 1:准备 Linux 主机

1、依赖项要求

最好是干净的linux 环境,系统centos 7.6

需要预先安装docker、socat、conntrack

2、centos7下安装docker

1、安装基础的工具

yum install -y yum-utils device-mapper-persistent-data lvm2

2、添加docker-ce yum仓库

因为在阿里云的ecs机器上面,yum镜像使用的阿里云的,找不到docker的镜像,所以需要第一步的安装基础工具之后使用yum-config-manager来添加对应的yum仓库,执行如下命令

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

阿里云的不能用的话用下面的

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

3、安装docker-ce

通过上面两个步骤我们已经建立好了docker-ce的镜像链接,接下来只需要安装docker-ce就可以了,执行如下命令,安装这个的时间会稍微有点长,需要耐心的等待大概3-5分钟

yum install docker-ce

4、启动、停止docker服务

systemctl start docker

systemctl stop docker

5、设置开机启动

systemctl enable docker

6、docker更换国内源

vi /etc/docker/daemon.json

//修改修改daemon配置文件输入

{

"registry-mirrors": ["https://desaby25.mirror.aliyuncs.com"],

"log-driver": "json-file",

"insecure-registries":["harbor.iot.store:8085"],

"log-opts": {

"max-size": "1000m"

}

}

7、更换后重启docker

systemctl daemon-reload

systemctl restart docker

8、安装socat、conntrack

yum install socat conntrack

3、网络和 DNS 要求

请确保

/etc/resolv.conf

中的 DNS 地址可用,否则,可能会导致集群中的 DNS 出现问题。

如果您的网络配置使用防火墙或安全组,请务必确保基础设施组件可以通过特定端口相互通信。建议您关闭防火墙或遵循指南端口要求

2、步骤 2:下载 KubeKey

1、从 GitHub 发布页面下载 KubeKey 或直接使用以下命令。

export KKZONE=cn

curl -sfL https://get-kk.kubesphere.io | VERSION=v1.0.1 sh -

2、为 kk 添加可执行权限:

chmod +x kk

3:创建集群

1.创建示例配置文件

./kk create config --with-kubernetes v1.17.9 --with-kubesphere v3.0.0

2.编辑配置文件

如果您不更改名称,将创建默认文件 config-sample.yaml。编辑文件,以下是多节点集群配置文件的示例,它具有一个主节点,可以自定的数据如下,配置文件中其他配置不变

spec:

hosts:

    - {name: master, address: 192.168.0.2, internalAddress: 192.168.0.2, user: ubuntu, password: Testing123}

    - {name: node1, address: 192.168.0.3, internalAddress: 192.168.0.3, user: ubuntu, password: Testing123}

    - {name: node2, address: 192.168.0.4, internalAddress: 192.168.0.4, user: ubuntu, password: Testing123}

    roleGroups:

        etcd:

        -master

        master:

        -master

        worker:

        -node1

        -node2

     controlPlaneEndpoint:

        domain: lb.kubesphere.local

        address: ""

        port: "6443"

截图示例如下

1、host配置讲解

参照上方示例在

hosts    

    下列出您的所有机器并添加详细信息。

name    

    实例的主机名。

address    

    任务机和其他实例通过 SSH 相互连接所使用的 IP 地址。根据您的环境,可以是公共 IP 地址或私有 IP 地址。例如,一些云平台为每个实例提供一个公共 IP 地址,用于通过 SSH 访问。在这种情况下,您可以在该字段填入这个公共 IP 地址。

internalAddress    

    实例的私有 IP 地址。默认使用22端口

1、自定义端口登录

hosts:

    - {name: master, address: 192.168.0.2, internalAddress: 192.168.0.2, port: 8022, user: ubuntu, password: Testing123}

2、默认 root 用户示例:

hosts:

    - {name: master, address: 192.168.0.2, internalAddress: 192.168.0.2, password: Testing123}

3、使用 SSH 密钥的无密码登录示例:

hosts:

    - {name: master, address: 192.168.0.2, internalAddress: 192.168.0.2, privateKeyPath: "~/.ssh/id_rsa"}

2、roleGroups参数讲解

etcd

    etcd 节点名称

master

    主节点名称

worker

    工作节点名称

    controlPlaneEndpoint(仅适用于高可用安装)

controlPlaneEndpoint

    使您可以为高可用集群定义外部负载均衡器。当且仅当安装多个主节点时,才需要准备和配置外部负载均衡器。请注意,config-sample.yaml中的地址和端口应缩进两个空格,

addons

    您可以在 config-sample.yaml 的 addons字段下指定存储,从而自定义持久化存储插件,例如 NFS 客户端、Ceph RBD、GlusterFS 等。有关更多信息,请参见持久化存储配置

    备注

KubeSphere 会默认安装 OpenEBS,为开发和测试环境配置 LocalPV,方便新用户。在本多节点安装示例中,使用了默认存储类型(本地存储卷)。对于生产环境,请使用 NFS/Ceph/GlusterFS/CSI 或者商业存储产品作为持久化存储解决方案。

3. 使用配置文件创建集群

./kk create cluster -f config-sample.yaml

备注如果使用其他名称,则需要将上面的 config-sample.yaml更改为您自己的文件。

整个安装过程可能需要 10 到 20 分钟,具体取决于您的计算机和网络环境。

4. 验证安装

安装完成后,您会看到如下内容:

现在,您可以通过  

http://{IP}:30880

(例如,您可以使用 EIP)使用帐户和密码

admin/P@88w0rd

访问 KubeSphere Web 控制台。

4、将部署的kubesphere添加到host中

1、设置host的集群管理角色

2、更改操作如下

3、获取host集群的jwt秘钥

kubectl -n kubesphere-system get cm kubesphere-config -o yaml | grep -v "apiVersion" | grep jwtSecret

获取到的秘钥格式如下

jwtSecret: "gfIwilcc0WjNGKJ5DLeksf2JKfcLgTZU"

4、member设置jwt和role角色信息

5、在host集群中,添加集群管理

选择代理模式以后,页面中会提示需要复制配置文件到menmber集群的服务中,创建一个agent.yaml文件,同时复制host集群中提示的数据信息 kubectl create -f agent.yaml

官方文档参考:

安装集群

https://kubesphere.com.cn/docs/installing-on-linux/introduction/multioverview/ https://kubesphere.com.cn/docs/installing-on-linux/public-cloud/install-kubesphere-on-huaweicloud-ecs/

添加member集群

https://kubesphere.com.cn/docs/multicluster-management/enable-multicluster/agent-connection/

启用可插拔组件

参考文档链接:https://kubesphere.com.cn/docs/pluggable-components/overview/

(根据kubesphere的安装状态来对应修改配置)

撰写答案

请登录后再发布答案,点击登录

AI
助理

发布
问题

分享
好友

手机
浏览

扫码手机浏览