【无标题】

基于2核4G的云主机部署个Kubernetes的一个轻量级版本

  • 前期准备
  • 部署步骤
  • 完全卸载(请注意备份数据)
  • 文献参考

前期准备

系统环境 软件 版本 安装包自行下载地址 —需要科学上网,不然有点慢 安装脚本下载
centos7 k3s v1.23.13+k3s1 https://github.com/k3s-io/k3s/releases/download/v1.27.6+k3s1/k3s https://get.k3s.io/
centos7 docker 19.03.13 可自行安装

部署步骤

安装k3s主节点(仅第一主节点执行)
上传到服务器 /usr/local/bin/k3s 并给予可执行权限
设置环境变量 export INSTALL_K3S_SKIP_DOWNLOAD=true 跳过下载

#配置环境变量,后续会用到,因为是云主机,会在外部调用,我这边添加了一些公网地址,可以根据自己实际需要添加。
export MY_SERVER_IP=xxxx.xxxx.xxxx.xxxx
export MY_TOKEN=943uoeitg4sh43589j38u
export MY_ETH_DEV=eth0 # 根据实际自己的网卡配置
export MY_NODE_IP=`ip -o -4 addr list | grep $MY_ETH_DEV | awk '{print $4}' | cut -d/ -f1`
export INSTALL_K3S_EXEC="--docker" # 使用docker部署,不然默认containerd
export TLS_SAN=xxxx.xxxx.xxxx.xxxx 

# 下载安装脚本
bash k3s-install.sh server \
    --cluster-init \
    --token $MY_TOKEN \
    --node-ip $MY_NODE_IP \
    --advertise-address $MY_SERVER_IP \
    --flannel-iface $MY_ETH_DEV \
    --tls-san $TLS_SAN \
    --disable-cloud-controller
    --docker $INSTALL_K3S_EXEC
# 未下载安装脚本
wget -qO- https://get.k3s.io | sh -s - server \
    --cluster-init \
    --token $MY_TOKEN \
    --node-ip $MY_NODE_IP \
    --advertise-address $MY_SERVER_IP \
    --flannel-iface $MY_ETH_DEV \
    --tls-san $TLS_SAN \
    --disable-cloud-controller
    --docker $INSTALL_K3S_EXEC

防火墙需放行 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)

安装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
    
`为简化部署,配置参数请和第一主节点保持一致
主节点总数建议为奇数个,防止主节点故障时选举失败`

安装k3s主节点(仅平行主节点执行,单主部署可忽略)

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

完全卸载(请注意备份数据)

# 卸载服务器
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

文献参考

官网文档参考1
官网文档参考2

你可能感兴趣的:(k8s,安利,工具,k8s,容器,运维开发,运维)