5分钟搭建一个k8s平台
记录在 ubuntu-20.04.2-live-server系统上通过rancher安装k8s的过程。
0. 更换阿里云软件源
为了保障下载速度,将ubuntu软件源替换为阿里云软件源。如果网络通畅,可跳过。
0.1. 备份
1 | sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak |
0.2. 修改
1 | sudo vim /etc/apt/sources.list |
将source.list文件内容替换成下面的
1 | deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse |
0.3. 更新
1 | sudo apt-get update |
1. 安装Docker
通过命令行安装最新版本docker。
1 | curl -fsSL https://get.docker.com -o get-docker.sh |
安装后将当前账户加入到docker组内,否则只有root权限可以执行docker命令。对root权限的限制,也是docker相比于podman的劣势之一。
完成添加之后需要退出账号重新登陆,让设置生效。
2. 安装rancher
通过命令行完成rancher安装
1 | docker run -d --restart=unless-stopped -p 8080:80 -p 8443:443 rancher/rancher:v2.4.5 |
2.0. 登陆
安装完成后通过浏览器访问 https://ip:8443 首次访问会要求设置管理员(用户名:admin)密码
2.1. 添加集群
单击添加集群按钮后,选择自定义
只需指定集群名称,剩下全部选择默认配置
需要指定集群角色。生产环境需要根据机器及集群状况,保障系统性能及稳定性(最小可用节点数量 n/2+1 通过raft算法保障)。测试环境可以给一个集群授予多种角色。拷贝生成的命令在已安装docker的机器上运行,向rancher完成注册操作。这里仍然在这台ubuntu机器上完成注册操作。
等待agent完成注册操作。期间会通过轮询的方式进行进度检测,可以在rancher页面中看到注册进度。
在安装完成后,可以在页面中看到集群信息
理论上我们在一台机器中部署了4类节点
- rancher: 可视化管理集群
- Control Plane: k8s主节点,管理、监控工作节点
- etcd: 配置数据存储
- worker: k8s工作节点,用于运行容器
实际上运行的容器会更多,用于保障集群功能,比如ingress-controller
2.2 安装kubectl
需要根据系统选择不同的安装方式,示例仍然安装在同一台ubuntu系统内,如果跨机器,需要确认ip之间的访问通道
1 | snap install kubectl --classic |
将Kubeconfig File文件(Yaml格式)复制到机器的~/.kube/config
目录下(如果没有则新建)完成授权操作
通过kubectl访问集群
1 | kubectl get pods -n ingress-nginx |
看到下列信息表示配置已完成。
至此,已完成k8s平台搭建以及命令行管理的配置。