我在Google Cloud上创建了我的第一个Kubernetes群集
gcloud config set compute/zone europe-west1-c
gcloud config set compute/region europe-west1
gcloud container clusters create ___-cluster --num-nodes 1 --machine-type n1-standard-1
开始使用多个广告连播:
kubectl run ___-wui --image=eu.gcr.io/____________/___-wui:latest --port=80
kubectl run rabbitmq --image=eu.gcr.io/____________/rabbitmq:latest --port=15672
使用kubectl get pods
我可以看到两个pod正在运行
NAME READY STATUS RESTARTS AGE
___-wui-ihggr 1/1 Running 0 1h
rabbitmq-fzt4q 1/1 Running 0 4m
现在我公开这两个豆荚:
kubectl expose rc ___-wui --type="LoadBalancer"
kubectl expose rc rabbitmq --type="LoadBalancer"
使用kubectl cluster-info
我可以看到信息中心的网址,我可以从那里访问这两个应用程序。
查看网络负载平衡部分,我可以看到我的两个应用程序都有自己的IP地址。
我现在想要做的是将我的域上的这些网址映射到这些应用,例如在端口80上:
http://example.com/rabbitmq -> rabbitmqapp
http://example.com/___-wui -> wui-app
我将如何实现这一目标?我唯一的经验是将URL映射到实例组,我在Kubernetes中没有看到。
答案 0 :(得分:4)
您可以通过创建Ingress http://kubernetes.io/docs/user-guide/ingress/来实现此目的。应该已经在kube系统中运行了l7控制器。
绊倒用户的一些常见警告是:
1.配额
2.防火墙规则
3.健康检查
这些记录在此处:https://github.com/kubernetes/contrib/blob/master/ingress/controllers/gce/BETA_LIMITATIONS.md
如果您只想在不使用GCE配额的情况下熟悉Ingress资源,也可以调低GCE ingress controller并部署nginx contorller。