centos 安装helm_K3S安装步骤

f25846ad02899733266490f9837f0398.png
  • K3S简介
官网:Lightweight Kubernetes. Production ready, easy to install, half the memory, all in a binary less than 100 MB.
解释: 轻量级的K8s、可直接用于生产、安装简单、内存资源消耗减半、所有组件都在一个小于100MB的二进制文件中
  • 适用场景
资源有限的地方,如边缘计算、雾计算、物联网的接入网关等
  • 脚本-在线安装
1. master节点 指定安装版本,不指定安装最新稳定版本
# export INSTALL_K3S_VERSION=v1.18.9
# export INSTALL_K3S_EXEC="--write-kubeconfig ~/.kube/config --cluster-cidr  10.72.0.0/16 --service-cidr  10.73.0.0/16"
# curl -sfL https://get.k3s.io | sh -
2. 所有worker节点 token来源于master节点,目录/var/lib/rancher/k3s/server/node-token
# export INSTALL_K3S_VERSION=v1.18.9
# curl -sfL https://get.k3s.io | K3S_URL=https://myserver:6443 K3S_TOKEN=XXX sh -

等价于

1. master节点
# export INSTALL_K3S_VERSION=v1.18.9
# export INSTALL_K3S_EXEC="--write-kubeconfig ~/.kube/config --cluster-cidr  10.72.0.0/16 --service-cidr  10.73.0.0/16"
# sh k3s.sh
2. 所有worker节点 指定版本,master,还有从master获取的token
# export INSTALL_K3S_VERSION=v1.18.9
# export K3S_URL=https://master_ip:6443 
# export K3S_TOKEN=K103b676c8815cc4fb467cb5564527c3a5b0d3415915c9a15e195ff6069589bf508::server:97d3d89ac68de226f5003869fe676718
# sh k3s.sh
  • 脚本-离线安装
1.先在有网络的地方下载k3s安装脚本和二进制文件
脚本:https://get.k3s.io
选择对应版本的二进制文件: https://github.com/rancher/k3s/releases
2.将k3s安装脚本放在任意位置,二进制文件拷贝到目标主机的/usr/local/bin目录
3.添加环境变量
# export INSTALL_K3S_SKIP_DOWNLOAD=true
跳过二进制文件下载
4.在master节点运行安装脚本 这里的版本要和上面下载的二进制文件版本一致
# export INSTALL_K3S_VERSION=v1.18.9
# export INSTALL_K3S_EXEC="--write-kubeconfig ~/.kube/config --cluster-cidr  10.72.0.0/16 --service-cidr  10.73.0.0/16"
# sh k3s.sh
5.在所有worker节点运行安装脚本 所有worker节点 指定版本,master,还有从master获取的token
# export INSTALL_K3S_VERSION=v1.18.9
# export K3S_URL=https://master_ip:6443 
# export K3S_TOKEN=K103b676c8815cc4fb467cb5564527c3a5b0d3415915c9a15e195ff6069589bf508::server:97d3d89ac68de226f5003869fe676718
# sh k3s.sh
  • 无脚本-纯手动安装
1.下载k3s二进制文件
地址​github.com
2.启动master和worker
> 没有脚本启动方便,需要自己指定启动参数,如server、agent等

# sudo k3s server &
> Kubeconfig is written to /etc/rancher/k3s/k3s.yaml
# sudo k3s kubectl get nodes

> On a different node run the below. NODE_TOKEN comes from
> /var/lib/rancher/k3s/server/node-token on your server
# sudo k3s agent --server https://myserver:6443 --token ${NODE_TOKEN}
  • k3s默认用的containerd,如果要用docker替换containerd,则在安装k3s前安装docker
1.安装docker
# yum install -y yum-utils 
# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# yum makecache fast 
# yum list docker-ce --showduplicates | sort -r
# yum install -y docker-ce-19.03.8-3.el7
# systemctl start docker
# systemctl enable docker
2.安装k3s master
# export INSTALL_K3S_VERSION=v1.18.9
# export INSTALL_K3S_EXEC="--docker --write-kubeconfig ~/.kube/config --cluster-cidr  10.72.0.0/16 --service-cidr  10.73.0.0/16"
# sh k3s.sh
3.安装k3s worker
# 所有worker节点 指定版本,master,还有从master获取的token
# export INSTALL_K3S_VERSION=v1.18.9
# export K3S_URL=https://master_ip:6443 
# export K3S_TOKEN=K103b676c8815cc4fb467cb5564527c3a5b0d3415915c9a15e195ff6069589bf508::server:97d3d89ac68de226f5003869fe676718
# sh k3s.sh
  • 坑及解决方案
1.master节点的防火墙全部关掉,要不然worker可能连不上master
# systemctl stop firewalld && systemctl disable firewalld && iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X
2.有些.worker可能连不上master,可能有些worker的iptables表混乱了
# systemctl stop k3s-agent
# systemctl stop docker
# iptables -F && iptables -t nat -F  && iptables -t mangle -F
# systemctl start docker
# systemctl stop k3s-agent
3.有些主机无法根据上面的命令下载docker,提示证书过期
adding repo from: https://mydream.ink/utils/container/docker-ce.repo
grabbing file https://mydream.ink/utils/container/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
Could not fetch/save url https://mydream.ink/utils/container/docker-ce.repo to file /etc/yum.repos.d/docker-ce.repo: [Errno 14] curl#60 - "Peer's Certificate has expired."

因为这些主机的时间不正确,用ntp同步时间即可
# 安装ntp服务器
# yum install -y ntp
# 与一个已知的时间服务器同步
# ntpdate time.nist.gov
# 删除本地时间并设置时区为上海
# rm -rf /etc/localtime
# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
4.master 配置 --write-kubeconfig
--write-kubeconfig ~/.kube/config效果为将配置文件写到k8s默认会用的位置,而不是k3s默认的位置/etc/rancher/k3s/k3s.yaml。后者会导致istio、helm需要额外设置或无法运行。
5.命令补全
# yum install -y bash-completion
# source /usr/share/bash-completion/bash_completion
# source <(kubectl completion bash)
# echo "source <(kubectl completion bash)" >> ~/.bashrc
6.提示需要安装相关软件,根据提示进行安装
# yum install -y k3s-selinux-0.1.1-rc1.el7.noarch.rpm
# yum install -y container-selinux selinux-policy-base
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值