基于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访问

posted @ 2024-05-14 21:02  shiningrise  阅读(52)  评论(0编辑  收藏  举报
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css