本教程适用于 Alpine/CentOS/Debian/Ubuntu
等内核版本大于4的操作系统系统,部分特别声明的步骤在其他操作系统可以忽略;本文部署环境基于本地内网、且服务器有多个可用网卡。
1、启用cgroup
支持(仅Alpine
系统执行)
if [ -f /etc/update-extlinux.conf ]; then
if ! grep -q cgroup /etc/update-extlinux.conf; then
mods="cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory"
sed -i "s/rootfstype=ext4/rootfstype=ext4 $mods/" /etc/update-extlinux.conf
update-extlinux
reboot
fi
fi
AlpineLinux
默认安装不支持cgroup
,所以需要修改启动项
2、预设临时环境变量(所有节点均需设置)
# k3s主服务器内网地址
export MY_SERVER_IP=172.21.0.11
# k3s认证令牌,任意字符串
export MY_TOKEN=943uoeitg4sh43589j38uj8irr439943oit
# 内部网卡设备号,`ifconfig` 查看
export MY_ETH_DEV=eth0
# 自动获取本机IP,若无法获取请手动指定
export MY_NODE_IP=`ip -o -4 addr list | grep $MY_ETH_DEV | awk '{print $4}' | cut -d/ -f1`
请务必根据自己的环境修改,否则可能无法启动服务
请在3、4、5
步骤前分别执行,预设环境变量可以统一安装参数、降低出错概率
3、安装k3s主节点/一(仅第一主节点执行)
wget -qO- https://get.k3s.io | sh -s - server
--cluster-init
--token $MY_TOKEN
--node-ip $MY_NODE_IP
--advertise-address $MY_NODE_IP
--flannel-iface $MY_ETH_DEV
--disable-cloud-controller
防火墙需放行
TCP/6443
,UDP/8472
,TCP/10250
单网卡、单IP 的机器可以忽略如下参数
--node-ip
--flannel-iface
可根据集群需求,选择性禁用如下内置组件
--disable-cloud-controller
禁用云控制器管理器--disable coredns
禁用内部DNS(用于支持服务发现)--disable servicelb
禁用负载均衡(可使用MetalLB
替代)--disable traefik
禁用反向代理(可使用ingress-nginx
替代)--disable local-storage
禁用本地存储卷(不影响hostPath
卷)--disable metrics-server
禁用内部监控(工作端口为TCP/10250
)
4、安装k3s主节点/二(仅平行主节点执行,单主部署可忽略)
wget -qO- https://get.k3s.io | sh -s - server
--server https://$MY_SERVER_IP:6443
--token $MY_TOKEN
--node-ip $MY_NODE_IP
--advertise-address $MY_NODE_IP
--flannel-iface $MY_ETH_DEV
--disable-cloud-controller
为简化部署,配置参数请和第一主节点保持一致
主节点总数建议为奇数个,防止主节点故障时选举失败
5、部署k3s工作节点(仅工作节点执行,推荐部署3个以上)
wget -qO- https://get.k3s.io | sh -s - agent
--server https://$MY_SERVER_IP:6443
--token $MY_TOKEN
--node-ip $MY_NODE_IP
--flannel-iface $MY_ETH_DEV
防火墙需放行
UDP/8472
,TCP/10250
单网卡、单IP 的机器可以忽略如下参数
--node-ip
--flannel-iface
6、附录一:常用查看类命令
# 查看所有节点
kubectl get node
# 查看所有应用
kubectl get pod -A -o wide
# 查看所有服务
kubectl get service -A
kubectl get ingress -A
# 查看节点运行的容器
crictl ps
7、附录二:完全卸载(请注意备份数据)
# 卸载服务器
if type k3s-uninstall.sh >/dev/null; then
k3s-uninstall.sh
fi
# 卸载边缘节点
if type k3s-agent-uninstall.sh >/dev/null; then
k3s-agent-uninstall.sh
fi
# 重启后清理
rm -rf ~/.kube
rm -rf /etc/rancher
rm -rf /var/lib/cni
rm -rf /var/lib/rancher
rm -rf /var/lib/kubelet
rm -rf /var/log/containers
rm -rf /var/log/k3s*
rm -rf /var/log/pods
8、附录三:无法下载k3s的解决办法
- 手动下载二进制文件 https://github.com/k3s-io/k3s/releases/download/v1.25.2%2Bk3s1/k3s
- 上传到服务器
/usr/local/bin/k3s
并给予可执行权限 - 设置环境变量
export INSTALL_K3S_SKIP_DOWNLOAD=true
跳过下载
其他章节
根据本站Tag查阅 《Kubernetes 领进门》 系列文章
文章来源于互联网:Kubernetes 领进门 | 使用 k3s 快速部署 kubernetes 集群
阅读全文
下载说明:
1、本站所有资源均从互联网上收集整理而来,仅供学习交流之用,因此不包含技术服务请大家谅解!
2、本站不提供任何实质性的付费和支付资源,所有需要积分下载的资源均为网站运营赞助费用或者线下劳务费用!
3、本站所有资源仅用于学习及研究使用,您必须在下载后的24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担!
4、本站站内提供的所有可下载资源,本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发),但本站不保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug!如有链接无法下载、失效或广告,请联系客服处理!
5、本站资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您的合法权益,请立即告知本站,本站将及时予与删除并致以最深的歉意!
6、如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
7、如果您喜欢该资源,请支持官方正版资源,以得到更好的正版服务!
8、请您认真阅读上述内容,注册本站用户或下载本站资源即您同意上述内容!
原文链接:https://www.shuli.cc/?p=14098,转载请注明出处。
1、本站所有资源均从互联网上收集整理而来,仅供学习交流之用,因此不包含技术服务请大家谅解!
2、本站不提供任何实质性的付费和支付资源,所有需要积分下载的资源均为网站运营赞助费用或者线下劳务费用!
3、本站所有资源仅用于学习及研究使用,您必须在下载后的24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担!
4、本站站内提供的所有可下载资源,本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发),但本站不保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug!如有链接无法下载、失效或广告,请联系客服处理!
5、本站资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您的合法权益,请立即告知本站,本站将及时予与删除并致以最深的歉意!
6、如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
7、如果您喜欢该资源,请支持官方正版资源,以得到更好的正版服务!
8、请您认真阅读上述内容,注册本站用户或下载本站资源即您同意上述内容!
原文链接:https://www.shuli.cc/?p=14098,转载请注明出处。
评论0