首页 > 其他分享 >微服务实践之使用 kube-vip 搭建高可用 Kubernetes 集群

微服务实践之使用 kube-vip 搭建高可用 Kubernetes 集群

时间:2024-06-13 09:56:29浏览次数:24  
标签:v0.7 Kubernetes -- vip pod kube

实验环境

原理

生成kube-vip静态pod配置清单

export VIP=192.168.215.200 # 我的vip是192.168.215.200
export INTERFACE=ens33 #可以用 ip a 查看接口名称
# kube-vip最新镜像为v0.8.0,但我装时无法成功,后来降到v0.7.2后安装成功了
ctr image pull docker.io/plndr/kube-vip:v0.7.2
ctr run --rm --net-host docker.io/plndr/kube-vip:v0.7.2 vip \ 
/kube-vip manifest pod \
--interface $INTERFACE \
--vip $VIP \
--controlplane \
--services \
--arp \
--leaderElection | tee  /etc/kubernetes/manifests/kube-vip.yaml

将kube-vip.yaml复制到另外两台控制平面节点的/etc/kubernetes/manifests/目录

使用kubeadm初始化master节点的集群

kubeadm init --control-plane-endpoint="192.168.215.200" --kubernetes-version=v1.28.2 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --image-repository=registry.aliyuncs.com/google_containers --upload-certs

--control-plane-endpoint填vip地址

使用kubeadm join命令加入另外两台控制平面的节点

验证

三个kube-vip静态pod都成功运行

使用ip a查看vip地址

关闭vip所在主机,vip会飘移都另外一台主机上,集群仍保存正常运行

爬坑记录

我用kube-vip:v0.8.0装了好几天都没装成功,后来换了kube-vip:v0.7.2就装成功了

控制平面节点最少要3台,两台不行,vip不会飘移

问题

当我关闭vip所在主机后,原vip所在主机的所有pod仍显示为running,不知道为何

参考文章

标签:v0.7,Kubernetes,--,vip,pod,kube
From: https://www.cnblogs.com/shiningrise/p/18245260

相关文章

  • kubernetes网络概念、关系
    kubernetes实现了对容器的编排,实际上就是对计算、网络、存储的编排。在网络部分,涉及到的概念或者模块有三个:kube-proxy:本质上讲就是Service资源的实现kube-proxypod运行在每个kubernetes节点中,通过iptables或者ipvs的方式实现service到pod-endpoint的负载均衡能力。ipvs......
  • 使用 KubeKey v3.1.1 离线部署原生 Kubernetes v1.28.8 实战
    今天,我将为大家实战演示,如何基于操作系统openEuler22.03LTSSP3,利用KubeKey制作Kubernetes离线安装包,并实战离线部署Kubernetesv1.28.8集群。实战服务器配置(架构1:1复刻小规模生产环境,配置略有不同)主机名IPCPU内存系统盘数据盘用途ksp-control-11......
  • 云原生Kubernetes系列项目实战-k8s集群+高可用负载均衡层+防火墙
    一、Kubernetes区域可采用Kubeadm方式进行安装:名称主机部署服务master192.168.91.10docker、kubeadm、kubelet、kubectl、flannelnode01192.168.91.11docker、kubeadm、kubelet、kubectl、flannelnode02192.168.91.20docker、kubeadm、kubelet、kubectl、flannel1.系统初......
  • Go - pflag and viper
    pflagisadrop-inreplacementofGo'snativeflagpackage.Ifyouimportpflagunderthename"flag"thenallcodeshouldcontinuetofunctionwithnochanges.importflag"github.com/spf13/pflag"Thereisoneexceptiontothis:......
  • 【K8s】专题五(1):Kubernetes 配置之 ConfigMap
    以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发!欢迎扫码关注个人公众号!目录一、基本介绍二、主要特性三、资源清单(示例)四、常用操作一、基本介绍在Kubernetes中,ConfigMap是一种用于存储非敏感信息的资源对象,提供了向Pod......
  • 几句话理解Kubetnetes中的Service资源的几种类型
    Kubetnetes中的Service有4种类型,ClusterIP、NodePort、LB、HandlessService.一、首先理解为什么需要Service?    1、因为Kubetnetes认为Pod这个资源并不是一个持久资源,说白了就是认为Pod不在挂就是在挂的路上。那么就需要一个资源来配套Deployment或者Statfullset来......
  • Centos7.9使用kubeadm部署K8S集群
    Centos7.9使用kubeadm部署K8S集群使用kubeadm部署一个k8s集群,单master+2worker节点。1.环境信息操作系统:CentOS7.9.2009内存:2GBCPU:2网络:能够互访,能够访问互联网hostnameip备注k8s-master192.168.0.51masterk8s-node1192.168.0.52workerk8s-node2192.168.0.53wor......
  • Centos7.9使用kubeadm部署K8S单机环境
    Centos7.9使用kubeadm部署K8S单机环境使用kubeadm部署一个k8s单机环境1.环境信息操作系统:CentOS7.9.2009内存:4GBCPU:2网络:能够互访,能够访问互联网hostnameip备注k8s192.168.0.159master+worker2.准备工作在所有节点(包括Master和Worker节......
  • `kubectl get pod -oyaml` 和 `kubectl describe pod`
    kubectlgetpod-oyaml和kubectldescribepod这两个命令都用于获取Pod的信息,但它们提供信息的方式和内容有所不同:kubectlgetpod-oyaml:这个命令列出指定Pod的信息,输出格式为YAML。输出内容是结构化的,并且通常是机器可读的。它包括Pod的所有字段和值,如API......
  • Centos7.9使用kubeadm部署K8S集群
    Centos7.9使用kubeadm部署K8S集群使用kubeadm部署一个k8s集群,单master+2worker节点。1.环境信息操作系统:CentOS7.9.2009内存:2GBCPU:2网络:能够互访,能够访问互联网hostnameip备注k8s-master192.168.0.51masterk8s-node1192.168.0.52workerk8s-n......