liqo-k8s,kubernetes多集群互联,在单集群场景中一样在多集群环境中部署标准 Kubernetes 应用程序

本文详细描述了如何在Liqo环境中创建和管理命名空间,部署跨集群的helloworld应用程序,包括设置对等互联、亲和性约束和跨集群服务的访问。作者演示了如何在本地和远程集群中操作Pod,以及如何通过Liqo实现跨集群的透明通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上篇介绍了怎么在本地用kind安装了两套集群,以及完成了集群的对等互联,现在我们来部署服务。

启动一个 hello world 应用程序

如果您想要部署调度到 Liqo 虚拟节点上的应用程序,您应该首先创建一个将启动 pod 的命名空间。然后告诉 Liqo 使该命名空间符合 pod 卸载的条件

root@liqo:~/liqo# kubectl create namespace liqo-demo
namespace/liqo-demo created
root@liqo:~/liqo# kubectl get namespace
NAME                       STATUS   AGE
default                    Active   151m
kube-node-lease            Active   151m
kube-public                Active   151m
kube-system                Active   151m
liqo                       Active   61m
liqo-demo                  Active   75s
liqo-storage               Active   61m
liqo-tenant-milan-c31b24   Active   18m
local-path-storage         Active   151m

看下milan集群有这个命名空间没

oot@liqo:~/liqo# kubectl get namespace --kubeconfig "$KUBECONFIG_MILAN"
NAME                      STATUS   AGE
default                   Active   151m
kube-node-lease           Active   151m
kube-public               Active   151m
kube-system               Active   151m
liqo                      Active   26m
liqo-storage              Active   25m
liqo-tenant-rome-d114d7   Active   19m
local-path-storage        Active   151m

没有,用这个命令将命名空间卸载到远程集群,由于没有提供进一步的配置,Liqo 将向命名空间名称添加后缀,以使其在远程集群上唯一

liqoctl offload namespace liqo-demo

再看看,有了liqo-demo-rome-d114d7

root@liqo:~/liqo# kubectl get namespace --kubeconfig "$KUBECONFIG_MILAN"
NAME                      STATUS   AGE
default                   Active   151m
kube-node-lease           Active   151m
kube-public               Active   151m
kube-system               Active   151m
liqo                      Active   26m
liqo-demo-rome-d114d7     Active   2s
liqo-storage              Active   26m
liqo-tenant-rome-d114d7   Active   19m
local-path-storage        Active   151m

然后,您可以在本地集群的命名空间中部署演示应用程序:

root@liqo:~/liqo/examples/quick-start# kubectl apply -f ./manifests/hello-world.yaml -n liqo-demo
pod/nginx-local created
pod/nginx-remote created
service/liqo-demo created

该hello-world.yaml文件代表一个简单的nginx服务。它包含两个运行nginx镜像的 Pod和一个将 Pod 暴露给集群的服务。一个 pod 运行在本地集群中,而另一个 pod 则被迫调度到远程集群上
现在您可以检查 Pod 的状态。输出应类似于以下内容,确认有一个nginxpod 正在本地运行;而另一个由虚拟节点托管

root@liqo:~/liqo/examples/quick-start# kubectl get pod -n liqo-demo -o wide
NAME           READY   STATUS    RESTARTS   AGE   IP            NODE          NOMINATED NODE   READINESS GATES
nginx-lo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你是我的天晴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值