K3S入门指南-安装部署
01—为什么学k3s?由于k3s是k8s的轻量化版本,且k8s后续版本不计划支持docker,又因为k3s已经使用containerd替换docker来做容器的runtime。此时,如果...
01
—
为什么学k3s?
由于k3s是k8s的轻量化版本,且k8s后续版本不计划支持docker,又因为k3s已经使用containerd替换docker来做容器的runtime。此时,如果你想从k8s庞杂的工作中过渡到一种更为清晰简洁的状态,那么我建议你使用k3s。
02
—
K3S是什么?
什么是k8s?
Kubernetes(简称k8s)是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了资源调度、部署管理、服务发现、扩容缩容、监控、维护等一整套功能。努力成为跨主机集群的自动部署、扩展以及运行应用程序容器的平台。它支持一系列容器工具,包括Docker等。
什么是k3s?
k3s是一个轻量级的k8s。
其适用于:
边缘计算-Edge
物联网-IoT
CI
Development
ARM
嵌入 K8s
不想深陷 k8s 运维管理的人
其拥有的能力:
打包为单个二进制文件。
基于sqlite3的轻量级存储后端作为默认存储机制。etcd3,MySQL,Postgres 仍然可用。
封装在简单的启动程序中,该启动程序处理很多复杂的 TLS 和选项。
默认情况下是安全的,对轻量级环境有合理的默认值。
添加了简单但功能强大的“batteries-included”功能,例如:本地存储提供程序,服务负载均衡器,Helm controller 和 Traefik ingress controller。
所有Kubernetes控制平面组件的操作都封装在单个二进制文件和进程中。这使k3s可以自动化和管理复杂的集群操作,例如分发证书。
外部依赖性已最小化(仅需要现代内核和 cgroup 挂载)。
为什么叫k3s?
我们希望安装的 Kubernetes 在内存占用方面只是一半的大小。Kubernetes 是一个10个字母的单词,简写为 k8s。所以,有Kubernetes一半大的东西就是一个5个字母的单词,简写为k3s。K3s 没有全称,也没有官方的发音。
03
—
安装k3s
本次我们选择使用server+agent两个节点演示。
在server节点上执行如下命令:
curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -
安装后检查:
root@phyger-ubuntu:/home/phyger# kubectl version
Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.5+k3s2", GitCommit:"746cf4031370f443bf1230272bc79f2f72de2869", GitTreeState:"clean", BuildDate:"2020-12-18T01:41:55Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.5+k3s2", GitCommit:"746cf4031370f443bf1230272bc79f2f72de2869", GitTreeState:"clean", BuildDate:"2020-12-18T01:41:55Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"linux/amd64"}
可以看到,版本信息已经成功显示。
查看节点列表:
root@phyger-ubuntu:/home/phyger# kubectl get nodes
NAME STATUS ROLES AGE VERSION
phyger-ubuntu Ready master 64m v1.19.5+k3s2
在agent节点上执行如下命令:
curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=https://{server-ip}:6443 K3S_TOKEN={k3s-token} sh -
agent安装成功后查看节点列表:
root@phyger-ubuntu:/home/phyger# kubectl get nodes
NAME STATUS ROLES AGE VERSION
phyger-ubuntu Ready master 127m v1.19.5+k3s2
ubuntu Ready <none> 6m9s v1.19.5+k3s2
可以看到,agent已经添加到集群中。
04
—
Q&A
可能在你安装完agent后,虽然k3s-agent服务已经正常运行,但是在集群中仍然无法查询到agent节点, 这是为什么呢?
通常的原因是网络不通所致。
解决方法:
#关闭防火墙
systemctl stop firewalld && systemctl disable firewalld && iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X
完
往期推荐
点亮在看!
更多推荐
所有评论(0)