安装K3S
docs.rancher.cn/docs/k3s/quick-start/_index
- 脚本安装
- 常用环境变量
INSTALL_K3S_SKIP_DOWNLOAD
仅用于离线安装,设置为true
则不会下载k3s二进制执行文件
安装前,将k3s
二进制文件复制到/usr/local/bin
下INSTALL_K3S_MIRROR
如果值为cn
,则改为国内镜像源INSTALL_K3S_SYMLINK
若对应路径中二进制命令并不在,则创建符号链接skip
不会创建,force
会创建并覆盖INSTALL_K3S_SKIP_ENABLE
设置为true
则默认不开机启用K3S
服务INSTALL_K3S_SKIP_START
设置为true
,将不会启动k3s
服务INSTALL_K3S_VERSION
不指定则下载stable
版本INSTALL_K3S_VERSION="v1.19.9+k3s1"
INSTALL_K3S_BIN_DIR
配置安装k3s
二进制文件的目录,默认是/usr/local/bin
INSTALL_K3S_SYSTEMD_DIR
安装systemd
服务的目录,默认是/ect/systemd/system
INSTALL_K3S_EXEC
安装时额外启动参数,参考rancher官方文档INSTALL_K3S_NAME
创建systemd的服务名,默认是k3s,以agent方式便是k3s-agent
INSTALL_K3S_SKIP_SELINUX__RPM
如果设置为true
,跳过 k3s RPM 自动安装INSTALL_K3S_CHANNEL_URL
K3S频道版本对应的网址urlINSTALL_K3S_CHANNEL
K3S安装的频道,默认是stable
K3S_CONFIG_FILE
指定配置文件位置,默认为/etc/rancher/k3s/config.yaml
K3S_TOKEN
用于server或agent加入集群
默认token目录为/var/lib/rancher/k3s/server/token
添加k3s agent1
# curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=https://<server_ip>:6443 K3S_TOKEN=<server_token> sh -
K3S_TOKEN_FILE
指定token的文件目录
K3S SERVER 常用配置
K3S_KUBECONFIG_OUTPUT
指定k3s config文件目录,默认为/etc/rancher/k3s/k3s.yaml
可以将其复制到/root/.kube/config
INSTALL_K3S_EXEC="--docker"
默认使用docker启动k3sINSTALL_K3S_EXEC="--advertise-address value"
手动指定向集群内发布的IP地址INSTALL_K3S_EXEC="--node-ip value"
指定节点使用的IP
添加agent节点时, 也需要指定ip1
# curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn INSTALL_K3S_EXEC="--node-ip <value>" K3S_URL=https://<server_ip>:6443 K3S_TOKEN=<server_token> sh -
INSTALL_K3S_EXEC="--node-external-ip value"
配置k3s对外发布的ip节点INSTALL_K3S_EXEC="--tls-san value"
指定可以通过哪个IP进行访问,普遍应用于公有云INSTALL_K3S_EXEC="--data-dir=value"
指定k3s数据存储目录,默认是/var/lib/rancher/k3s
INSTALL_K3S_EXEC="--disable value"
禁用组件 traefik coredns servicelb local-storage metrics-server--node-label
--node-taint
添加标签与污点
k3s 网络选项
- Flannel 选项 配置文件地址为 /var/lib/rancher/k3s/agent/etc/flannel/net-conf.json
INSTALL_K3S_EXEC="--flannel-backend=value"
修改默认k3s backend
种类有 ipsed / host-gw / wireguard- directrouting 启用
- 配置默认flannel的配置文件到别的目录(默认路径重启后会被默认配置覆盖)
1
INSTALL_K3S_EXEC="--flannel-conf=/etc/net-conf.json"
- 配置默认flannel的配置文件到别的目录(默认路径重启后会被默认配置覆盖)
- 配置net-conf.json中添加以下内容
1
"Directrouting": true
- 配置net-conf.json中添加以下内容
- 使用自定义CNI calico
- 安装k3s时,不安装flannel插件
1
INSTALL_K3S_EXEC="--flannel-backend=none"
- 修改calica yaml中添加
"container_settings": { "allow_ip_forwarding": true }
- 将yaml apply至集群
- 安装k3s时,不安装flannel插件
- 配置k3s mirror加速下载,与阿里云配置docker加速方式相同
- 配置proxy,目录位于/etc/systemd/system/docker.server.d/http-proxy.conf
1
2[Service]
Environment="HTTP_PROXY=http://ip:port"