基於Ubuntu-22.04安裝K8s-v1.28.2實驗(二)使用kube-vip實現集羣VIP訪問

安裝kube-vip

kubectl apply -f https://kube-vip.io/manifests/rbac.yaml

使用daemonset部署kube-vip

export VIP=192.168.215.200 # vip地址
export INTERFACE=ens33
apt install jq
KVVERSION=$(curl -sL https://api.github.com/repos/kube-vip/kube-vip/releases | jq -r ".[0].name")
#或者 export KVVERSION=v0.8.0

然後配置 kubevip 方案,針對 k8e containerd 創建 kubevip 命令:
alias kube-vip="ctr image pull ghcr.io/kube-vip/kube-vip:$KVVERSION; ctr run --rm --net-host ghcr.io/kube-vip/kube-vip:$KVVERSION vip /kube-vip"

#生成 Yaml 文件kubevip-ds.yaml:
kube-vip manifest daemonset \
     --interface $INTERFACE \
     --address $VIP \
     --inCluster \
     --taint \
     --controlplane \
     --services \
     --arp \
     --leaderElection > kubevip-ds.yaml

kubectl apply -f kubevip-ds.yaml #創建 kubevip 服務

配置服務實現負載均衡

#nginx-service.yml
apiVersion: v1
kind: Service
metadata:
  name: nginx-service
  namespace: default
  annotations:
       external-dns.alpha.kubernetes.io/hostname: mydomain.example.com #配置域名訪問
spec:
  selector:
    app: nginx
  loadBalancerIP: 192.168.215.200
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
  type: LoadBalancer #NodePort LoadBalancer
############################################################  
kubectl apply -f nginx-service.yml

通過192.168.215.200vip地址就能訪問nginx服務

相關文件下載

相關文件下載

引用

使用kube-vip實現集羣VIP訪問

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章