k3s安装
使用k3s搭建一个k8s的学习环境k3s官网文档: https://docs.rancher.cn/docs/k3s/_index/准备两台centos7的虚拟机,一台主机名为server,一台主机名为agent0, 使用ip addr 获得两台机器ip:server192.168.160.130agent0192.168.160.131k3s默认的容器运行时是containerd, 而国内doc
使用k3s搭建一个k8s的学习环境
k3s官网文档: https://docs.rancher.cn/docs/k3s/_index/
准备两台centos7的虚拟机,一台主机名为server,一台主机名为agent0, 使用ip addr
获得两台机器ip:
server 192.168.160.130
agent0 192.168.160.131
k3s默认的容器运行时是containerd, 而国内docker更为流行, 我对docker也更熟悉一些, 所以在k8s未来也将抛弃docker的情况下, 我还是想固执的使用docker. 谷歌大恶人,前年我学习docker的时候,不由得感叹docker:这才是真正酷的技术,当时docker也是未来无限光明的公司 但是没想到才过一两年,docker为了盈利切分为开源版(就是github的moby项目)和商业版, 在容器集群管理领域亲儿子docker swarm被k8s打败, 难道现在小鲸鱼也要被取代了吗¿¿¿
在server机器安装k3s-server
-
关闭防火墙:
systemctl stop firewalld
永久关闭防火墙:
systemctl disable firewalld
-
安装docker:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
启动docker:
systemctl start docker
设置docker开机自启动:
systemctl enable docker
-
安装k3s-server:
curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - server --docker
安装后检查
-
执行:
kubectl get pod -o wide -n kube-system
,可以看到有3个系统组件是Running状态, 还有一个异常的可以先不管
-
执行:
kubectl get node -o wide
, 可以看到当前集群中管理的节点只有server机器一个
在agent0机器安装k3s-agent
-
关闭防火墙:
systemctl stop firewalld
永久关闭防火墙:
systemctl disable firewalld
-
安装docker:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
启动docker:
systemctl start docker
设置docker开机自启动:
systemctl enable docker
-
在server获取node-token:
cat /var/lib/rancher/k3s/server/node-token
-
安装k3s-agent:
curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=https://${server_ip}:6443 K3S_TOKEN=${node_token} sh -s - --docker
本例中为:
curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=https://192.168.160.130:6443 K3S_TOKEN=K10b6245830058464fd794939e912d96f821cf5c2a7aecb82ef98da65ecf6a4aee5::server:4027ee6e383a621246d69ac102b60cc7 sh -s - --docker
安装后检查
-
在server机器执行:
kubectl get node -o wide
, 可以看到agent0机器已经被注册到集群中
发现上面的agent0的ROLES字段为none, 可以执行
kubectl label node ${node_name} node-role.kubernetes.io/worker=worker
,使节点作为工作节点,执行之后可以看到
-
在server执行:
kubectl get pod -o wide -n kube-system
,可以看到有两个pod被部署到agent0机器
在agent0执行:docker ps
Q&A
- 如果安装docker失败, 还可以参考其他资料进行安装
- CentOS Docker 安装: https://www.runoob.com/docker/centos-docker-install.html
- docker官方安装: https://docs.docker.com/engine/install/centos/
更多推荐
所有评论(0)