K8EK8E
首页
  • 什么是 K8E
  • 快速开始
  • 沙箱运行时配置
  • Sandbox CLI
  • 沙箱范例
  • E2B SDK 沙箱
  • DeepSeek Harness 接入
  • 架构
  • 组件
  • 高级安装
  • K8E 对比其他方案
  • 参与贡献
更新日志
  • English
  • 简体中文
GitHub
首页
  • 什么是 K8E
  • 快速开始
  • 沙箱运行时配置
  • Sandbox CLI
  • 沙箱范例
  • E2B SDK 沙箱
  • DeepSeek Harness 接入
  • 架构
  • 组件
  • 高级安装
  • K8E 对比其他方案
  • 参与贡献
更新日志
  • English
  • 简体中文
GitHub
  • 指南

    • 什么是 K8E?
    • 快速开始
    • 沙箱运行时配置
    • Sandbox CLI
    • 沙箱范例 —— 由你的 AI Agent 驱动
    • 使用官方 E2B SDK 操作沙箱
    • DeepSeek Harness + k8e-sandbox 接入指南(分步)
    • 架构
    • 组件
    • 高级安装
    • K8E 对比其他沙箱平台
    • 参与贡献
  • 操作指南

    • 操作指南 (Guides)
    • 部署标准集群
    • 使用kubekey一键部署k8e
    • 内置Nerdctl工具
    • 离线环境下快速部署k8e
    • 默认支持10年有效证书
    • k8e集群备份与恢复
    • k8s安装配置Flannel的方案
    • 使用kube-vip实现集群VIP访问
    • 怎么清理K8E集群
    • 备份和恢复
    • 自定义pause镜像

使用kube-vip实现集群VIP访问

k8e集群默认内置了api-server的地址访问负载机制,当你安装成功后,任意宕机一台机器,都可以访问任何一台存活的api-server机器来和集群交互。因为缺少VIP,如果你部署了管理容器集群的面板是,一般都需要你提供api-server的VIP地址。这个场景一般我们通过haproxy来实现,但是考虑到云原生的发展,kube-vip进入候选组件,它支持k8s control plan VIP的实现。本文通过简单的几步来介绍如何部署kube-vip。

安装kube-vip

kube-vip项目实现了两大功能Service LB和k8s control plan VIP,很容易让人陷入复杂的配置。这里简单来讲,你需要2样配置:

1、rabc.yaml和kube-vip-ds.yaml kubevip配置文件,支持权限和部署脚本配置 2、kube-vip镜像 镜像使用最新的版本,目前为v0.5.12

官方文档介绍如何生成部署脚本,个人感觉挺懵人的,直接提供配置文件:

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

使用daemonset部署kube-vip

默认kube-vip支持static pod和daemonset两种模式,建议选择daemonset模式。注意,需要手工修改网卡名称和VIP IP。 初始化变量如下: 用于控制平面的VIP地址设置为:

export VIP=192.168.0.40

将INTERFACE名称设置为将在其上联通VIP的控制平面的接口名称。在许多Linux发行版中,这可以通过ip a命令找到。

export INTERFACE=ens160

通过解析GitHub API获取kube-vip发布的最新版本。此步骤需要安装jq和curl。

KVVERSION=$(curl -sL https://api.github.com/repos/kube-vip/kube-vip/releases | jq -r ".[0].name")

或者手工指定:

export KVVERSION=v0.5.12

初始化 kubevip 的权限

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

然后配置 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 服务

[root@ip-172-31-6-27 ~]# kubectl get pods -n kube-system | grep -i vip
kube-vip-ds-ffd78                         1/1     Running   0          5m22s
kube-vip-ds-hjnfg                         1/1     Running   0          5m22s
kube-vip-ds-qxbxz                         1/1     Running   0          5m22s

验证 KubeVIP 对 APIServer 的效果

这里 VIP 会被 kubevip daemonset 分配到一台主机上,当你关闭这台主机,kubevip 会自动把 VIP 迁移到另外一台节点上。每次只有一台主机来充当 VIPServer 的入口 IP。对于容器管理平台接入集群可以实现高可用。

参考资料

  • https://kube-vip.io/docs/installation/daemonset/
最近更新: 2026/10/24 04:45
Prev
k8s安装配置Flannel的方案
Next
怎么清理K8E集群