上篇介绍了怎么在本地用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