抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

什么是Kubernetes

Kubernetes,又称k8s,是一个开源容器编排、管理平台,具备自动部署、自动伸缩、负载均衡、服务发现等功能,近年来受到了广泛的支持和使用,很多公司都有直接使用或者基于k8s开发的部署平台,了解和学习k8s对于以后使用甚至二开k8s都有很大的用处。

部署

部署前准备

机器

机器可以选择自己的笔记本或台式机,也可以买云服务器,自己的机器一般使用虚拟机管理软件比如VMware新建多个虚拟机在本地部署,这种方式可作为学习和尝试使用,这里因为要方便后面长期部署管理,选择使用云服务器的方式进行部署,为三台2核4G的服务器。

服务器的操作系统一般Centos或者Ubuntu,也可以选择其他自己喜欢的操作,尽量选主流的,如果遇到问题可以利用搜索引擎查找相关问题排查,如果太小众的可能没有太多可参考的。

环境

由于节点和节点之间需要通信,如果是使用云服务器可选择同地域下或者同子网下的机器,方便机器之间通信。当然,如果不是同地域甚至不同的云厂商也是可以的,不过麻烦一些。

所有的机器都需要能通过ssh进行访问。在部署前需要做一些设置:

  1. 关闭防火墙

    1
    systemctl disable firewalld --now
  2. 设置selinux

    1
    2
    $ yum install -y container-selinux selinux-policy-base
    $ yum install -y https://rpm.rancher.io/k3s/latest/common/centos/7/noarch/k3s-selinux-0.2-1.el7_8.noarch.rpm # 适用于Centos 7

开始部署

k8s的部署方式有好几种,比如使用minikube或者kubeadmin来部署,这里为了方便和快速,选择使用k3s,k3s相比于其他的比较轻量,对于小机器很友好,也适合边缘计算,具体介绍看k3s.

安装

如果使用官方的安装方法,由于众所周知的原因,可能会很慢甚至卡住,所以这里选择离线部署。

需要下载的资源:

  1. 官方安装脚本

    install.sh

  2. k3s二进制文件

    k3s,根据自己的机器选择对应的版本,这里下载了k3s

  3. 必要的image

    image,根据自己的机器选择对应的版本,这里下载了k3s-airgap-images-amd64.tar.gz

将这三个文件分别上传到三台服务器上,网络条件好也可以直接在服务器上下载

执行安装脚本

1
2
$ mv k3s /usr/local/bin
$ chmod +x /usr/local/bin/k3s # 添加执行权限

将所需的镜像移动到安装位置

1
2
$ mkdir -p /var/lib/rancher/k3s/agent/images/
$ cp ./k3s-airgap-images-amd64.tar.gz /var/lib/rancher/k3s/agent/images/

这里无须解压,执行安装时脚本会自动解压,这里的目的就是免下载,如果让脚本自己下载会很慢。

部署master节点

1
2
3
4
5
# 进入到脚本所在目录
# 修改权限
$ chmod +x install.sh
# 离线安装,免下载
$ INSTALL_K3S_SKIP_DOWNLOAD=true ./install.sh

部署node节点

先master节点的服务器获取master节点的token

1
$ cat cat /var/lib/rancher/k3s/server/node-token

复制后分别在两个Node节点的服务器执行:

1
$ INSTALL_K3S_SKIP_DOWNLOAD=true K3S_URL=https://master_ip:6443 K3S_TOKEN=your_master_token ./install.sh

K3S_URL是master节点的地址,必须是https协议,K3S_TOKEN是刚才在master节点获取的token

检查

查看节点状态,在master节点执行:

1
$ kubectl get node

iBPZwv.png

如果节点的状态Status都是Ready,说明一经部署成功了。

总结

k8s的部署不难,如果按照步骤去操作,就可以比较顺利地部署好,如果没有成功,可以多检查几遍哪里没有做对,或者善于利用搜索引擎进行问题定位修复。

评论