# 单云部署k3s

安装k3s

由于默认k3s安装会安装traefik,而我用惯了ingress-nginx所以就移除了traefik的安装

# k3s v1.25+ 之后 flag –no-deploy 弃用,更改为 –disable,但安装前需要确认 rancher 支持的 k3s 版本范围,目前 v1.25+ 不在 rancher 支持范围内,需要使用环境变量 INSTALL_K3S_VERSION 指定安装版本
  export INSTALL_K3S_EXEC="server --disable traefik"
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -
sudo cp /etc/rancher/k3s/k3s.yaml $HOME/.kube/config

基于helm安装ingress-nginx

安装helm

wget https://get.helm.sh/helm-v3.14.3-linux-amd64.tar.gz && tar -zxvf helm-v3.14.3-linux-amd64.tar.gz -C /tmp && mv /tmp/linux-amd64/helm /usr/local/bin/ && chmod +x /usr/local/bin/helm

添加ingress-nginx 官方仓库

helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update

获取 ingress-nginx

helm pull ingress-nginx/ingress-nginx
tar -zxvf ingress-nginx-4.10.0.tgz && rm ingress-nginx-4.10.0.tgz # 注意您下的版本进行解压
cd ingress-nginx

修改国内镜像地址

修改controller镜像地址

image-20240314125144515

hostNetwork 修改

default:
  .....
  externalTrafficPolicy: "Local"

image-20240314185220229

多云部署k3s

部署server

修改对应的外部ip $SERVER_IP -> 101.43.95.147

curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh |  INSTALL_K3S_EXEC="server --disable traefik" INSTALL_K3S_MIRROR=cn K3S_TOKEN=token_1 sh -s - --node-external-ip="$SERVER_IP"   --flannel-backend=wireguard-native   --flannel-external-ip

部署agent

修改对应的外部ip $AGENT_IP -> 117.72.40.1

curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh |  K3S_URL=https://101.43.95.147:6443 INSTALL_K3S_MIRROR=cn K3S_TOKEN=token_1 sh -s - --node-external-ip="$AGENT_IP" 

安装ingres-nginx

安装方式与k8s保持一致

helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update
helm pull ingress-nginx/ingress-nginx
tar -zxvf ingress-nginx-4.10.0.tgz && rm ingress-nginx-4.10.0.tgz # 注意您下的版本进行解压
cd ingress-nginx
vim values.yaml

修改国内镜像地址

image-20240315095558135

image-20240315095625640

修改hostNetwork

image-20240315095709258

修改dnsPolicy

image-20240315095733235

helm install -n ingress-nginx ingress-nginx/ingress-nginx .

Referer