侧边栏壁纸
博主头像
进一步,海阔天空 博主等级

进一步,海阔天空

  • 累计撰写 140 篇文章
  • 累计创建 19 个标签
  • 累计收到 7 条评论

目 录CONTENT

文章目录

快速部署k3s集群

海阔天空
2022-05-28 / 0 评论 / 0 点赞 / 237 阅读 / 0 字

准备工作

  • 准备服务器:我们通过virtualbox建了四台虚拟器,配置都是2CPU,2G内存,硬盘自己设置,我设为128G.四台虚拟器的网路都选择桥接网络。
  • 下载k3os-AMD64.iso

安装Master

  • 安装k3os:启动master主机,通过命令sudo k3os install 安装k3os到硬盘,注意安装的时候选择Server,然后设置用户密码和token等。
  • 修改hostname:安装完系统后,从硬盘启动。k3os安装的时候会自动设置了一个hostname为k3os-xxxx,这个hostname不是很好记,所以建议改一下。通过以下命令修改hostname为k3os-master1
sudo vi /var/lib/rancher/k3os/hostname
  • 修改IP地址:由于我们选择的是桥接网络,为了防止虚拟器重启后IP地址发生变化,我们给master节点设置一个固定IP,命令如下。
$ sudo connmanctl services
*AO Wired                ethernet_000c29229c3e_cable
*AR Wired                ethernet_000c29229c48_cable
$ sudo connmanctl services --properties ethernet_000c29229c3e_cable # 查看某一网卡的详细信息
$ sudo connmanctl config ethernet_080027913d31_cable --ipv4 manual 192.168.2.221 255.255.255.0 192.168.2.1 --nameservers 61.177.7.1 # 修改IP地址

重启一下虚拟器,发现hostname和IP都已经改过来了。反之,如果我们设置了固定IP之后发现网络不可用,可以用过以下命令设置为自动获得IP。

$ sudo connmanctl config ethernet_080027913d31_cable --ipv4 dhcp
  • 修改docker镜像代理:如果不修改docker镜像,那边pull镜像的时候会很慢,有时甚至根本pull不下来,所以我们需要设置一下docker的国内镜像。
$ cd /var/lib/rancher/k3s/agent/etc/containerd
$ cp config.toml config.toml.tmpl
$ vi config.toml.tmpl

在config.toml.tmpl文件最后加入镜像设置

# 在 config.toml.tmpl 文件中添加
[plugins.cri.registry.mirrors]
  [plugins.cri.registry.mirrors."docker.io"]
    endpoint = ["http://hub-mirror.c.163.com"]

重启master。运行以下命令,确认一下镜像是否已经改过来了。

sudo crictl info | grep registry

默认情况下,k3os主机是不允许通过ssh进行远程用户/密码访问的,如果我们需要从mac上ssh到k3os主机,则必须手动开启密码访问。

$ sudo vi /etc/ssh/sshd_config

把PasswordAuthentication no改为PasswordAuthentication yes

安装Agent

  • 安装k3os:启动主机,通过命令sudo k3os install 安装k3os到硬盘,注意安装的时候选择Agent,并设置Server url为https://k3os-master1-ip:6443,然后设置用户密码和token等。
  • 修改hostname:安装完系统后,从硬盘启动。然后修改hostname为k3os-node1
  • 然后复制k3os-node1为k3os-node2,k3os-node3,分别修改node2,node3的hostname即可。

master上通过kubectl get node查看所有节点是否正常,如果agent无法找到,我们也可以通过以下命令手动添加节点到集群中。

sudo k3s agent -s https://192.168.57.29:6443 -t ${NODE-TOKEN} --with-node-id k3os-node3

node-token在master节点执行以下命令获得
sudo vi /var/lib/rancher/k3s/server/node-token

可以通过以下命令删除无效的节点

kubectl delete node k3os-xxxx
0

评论区