栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

在线安装K3S集群-外部数据库

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在线安装K3S集群-外部数据库

我这里用的系统环境是 centos7.6 使用的集群配置为: 1核2G

一、环境准备

如下 非必须 的也可以不操作

  1. 确保是一台干净的 CentOS7 服务器。

  2. 开放端口(需要在安全组中放开一些必须的端口,确保正常访问)

  3. 准备一个域名,负载均衡到需要安装的k3s Server节点 (master主节点)

这里主要实现主节点负载均衡,当访问对应域名时能自动分发到任意一个主节点上
比如我这里使用 master.k3s.demo.com 负载到每个Server节点上,那么后续通过该域名地址就能连接到Server节点,如果有多个Server节点存在,当有一台Server节点宕机了还能分发到其它正常的Server节点上,保证了高可用

  1. 安装前顺便把源换为国内的 ( 非必须,切换国内源速度会快一些)
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

如下图示例:

  1. 升级所有包同时也升级软件和系统内核(非必须)
yum -y update
## 如果只升级所有,不升级软件和系统内核 则可以使用如下命令
yum -y upgrade

如下图示例:

更新完后可以查看下当前系统信息如下:

cat /etc/redhat-release

  1. 修改主机名(非必须, 可以每台机器的主机名设置一下,方便区分)

这里随便提一下 hostname 跟 hostnamectl 的区别:
临时修改主机名用 hostname 如: hostname k3s-master1
永久修改主机名用hostnamectl 如: hostnamectl set-hostname k3s-master1

# 比如我这里准备两台master节点,那我就可以将这两台机器主机名分别设置为 k3s-master1 跟 k3s-master2 方便日后自己区分
hostnamectl set-hostname k3s-master1
# 如果是node节点则可以分别设置 k3s-node1 , k3s-node2 , ...
hostnamectl set-hostname k3s-node1


可以查看下,如下:

hostnamectl 

二、安装K3S

安装后对应的k3s配置文件位置: /etc/rancher/k3s/k3s.yaml

# 这个走的是国外的源,在国内使用这个会慢一些
curl -sfL https://get.k3s.io | sh -

# 如果是国内安装可以使用下面这个
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -

# 如果是需要高可用,就是需要多个server节点(master主节点),则需要指定外部数据源, 可参考下面的方式指定外部数据源

如下图所示:

安装完后如下:

可以查看下节点状态以及 k3s 版本

kubectl get node


可以查看下所有 pod 信息

kubectl get pods -A


到此一个单点节K3S集群就安装好了,如果需要采用外部数据源方式,请参考下面方式

----------------------- 安装需要指定外部数据源,可参考下面方式 ---------------------------
如果想让为K3S指定外部的Mysql 或 MariaDB 存储数据库时, 可以加上对应的数据库配置,如下:

使用 datastore-endpoint 指定数据库信息
格式: --datastore-endpoint=“mysql://数据库账号:数据库密码@tcp(数据库连接地址:数据库端口)/数据库名称”
对应到下面连接: --datastore-endpoint=“mysql://demo:demo123@tcp(mysql.demo.com:3306)/demodb”

# 这个走的是国外的源,在国内使用这个会慢一些
curl -sfL https://get.k3s.io | sh -s - server --datastore-endpoint="mysql://demo:demo123@tcp(mysql.demo.com:3306)/demodb"

# 如果是国内安装可以使用下面这个
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - server --datastore-endpoint="mysql://demo:demo123@tcp(mysql.demo.com:3306)/demodb"

如果指定PostgreSQL 数据库,则对应 datastore-endpoint 格式如下:

--datastore-endpoint="postgres://数据库账号:数据库密码@数据库连接地址:数据库端口//数据库名称" 

如果指定etcd存储,则对应 datastore-endpoint 格式如下:

--datastore-endpoint="连接地址:端口" 

# 多个以逗号隔开,例如:
--datastore-endpoint="https://etcd-host-1:2379,https://etcd-host-2:2379,https://etcd-host-3:2379" 

三、向集群中添加新的Server节点(master节点)

使用外部数据源的k3s集群可以添加多个Server节点实现高可用

  1. 在集群中的任意一个Server节点(master)的对应文件中 /var/lib/rancher/k3s/server/node-token 查看token令牌凭证
cat /var/lib/rancher/k3s/server/node-token

  1. 在需要加入的新机器上执行如下命令,将该机器加入到集群Server节点中

如下 mytoken 表示token令牌凭证,在每个Server节点中都有一份,可查看获取
如下 datastore-endpoint 对应的就是k3s集群外部存储库,指定对应的库就会加入现有的集群中

# 这个走的是国外的源,在国内使用这个会慢一些
curl -sfL https://get.k3s.io | sh -s - server  --token=mytoken  --datastore-endpoint="mysql://demo:demo123@tcp(mysql.demo.com:3306)/demodb"

# 如果是国内安装可以使用下面这个
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - server --token=mytoken  --datastore-endpoint="mysql://demo:demo123@tcp(mysql.demo.com:3306)/demodb"
  1. 最后将当前新加入的Server节点IP加入到主节点统一访问的那个域名中

四、向集群中添加新的Agent节点(工作节点)

  1. 在集群中的任意一个Server节点(master)的对应文件中 /var/lib/rancher/k3s/server/node-token 查看token令牌凭证
cat /var/lib/rancher/k3s/server/node-token

  1. 在需要加入的新机器上执行如下命令,将该机器加入到集群Agent节点中

如下 https://myserver 表示 K3S集群 server节点(主节点的)的地址, 可以是任意一个主节点地址,如果配置了主节点的负载均衡地址的话,这可以填那个统一的域名地址
如下 mytoken 表示token令牌凭证,在每个Server节点中都有一份,可查看获取

# 这个走的是国外的源,在国内使用这个会慢一些 ()
curl -sfL https://get.k3s.io | K3S_URL=https://myserver:6443 K3S_TOKEN=mytoken  sh -

# 如果是国内安装可以使用下面这个
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=https://myserver:6443 K3S_TOKEN=mytoken  sh -

以前也有写过类似的一篇K3S集群安装的文章, 可以点击参考下

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/883744.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号