【发布时间】:2019-01-18 00:36:08
【问题描述】:
我在 aws 中运行 openshift
[centos@ip-10-0-0-14 ~]$ oc version
oc v3.6.1+008f2d5
kubernetes v1.6.1+5115d708d7
features: Basic-Auth GSSAPI Kerberos SPNEGO
Server https://ip-10-0-0-14.ec2.internal:8443
openshift v3.6.1+008f2d5
kubernetes v1.6.1+5115d708d7
我有一个主节点和两个节点。 如何将服务公开给 aws public ip?我可以在内部访问服务:
links http://blogroute-project-a.router.default.svc.cluster.local
如何将其公开给公共 ip?是否可以在 openshfit Web 控制台中完成? 我曾尝试关注https://docs.openshift.com/container-platform/3.4/dev_guide/expose_service/expose_internal_ip_service.html,但失败了。
在命令中:
oc patch svc blog -p '{"spec":{"externalIPs":["what ip?"]}}'
doc 说明了 ifconfig 中可见的 ip,(但它不是 aws 公共 ip)。 我应该使用哪个 ip,aws 公共 ip 还是来自 aws 本地网络的私有 ip(例如 10-0-0-14)?
我应该使用主节点的ip吗?还是工人?如果我有两个工作节点,我应该写他们两个的 ips 吗?
目前有以下路线:
[centos@ip-10-0-0-14 ~]$ oc get routes
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD
blog blog-project-a.router.default.svc.cluster.local blog 8080-tcp None
blog-django-py blog-django-py-project-a.router.default.svc.cluster.local blog-django-py 8080-tcp None
blog2 ec2-3-90-171-97.compute-1.amazonaws.com /blog2 blog 8080-tcp None
blogroute blogroute-project-a.router.default.svc.cluster.local blog 8080-tcp None
以下服务:
[centos@ip-10-0-0-14 ~]$ oc get svc
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
blog 172.30.111.64 3.90.171.97 8080/TCP 5d
blog-django-py 172.30.184.15 <none> 8080/TCP 5d
【问题讨论】:
-
它是 HTTP 服务吗?您是否使用
oc expose svc创建了一条路线以查看是否可行?您是否有指向 OpenShift 集群路由器端口的公共 DNS 通配符主机记录,以便您可以访问路由中生成的主机名? -
Graham,感谢您的评论,是的,它是 http 服务。我什至可以从 3 个带有链接文本浏览器的 aws centos vm 中的任何一个访问它。关于您评论中的第三句话:OMG ... :) 1)如果我有一个公共 DNS Wild...,我该如何检查它?我使用aws ec2。我没有自己设置任何额外的 DNS。 Openshift 已经自行安装了。问题可能就在这里。你能指出一些关于它的文档或教程吗? 2) 默认生成的主机名是 blogroute-project-a.router.default.svc.cluster.local - 它不是公共名称。我应该将主机名设置为什么主机名/IP?到主节点的公共 ip/aws 主机名?
-
blogroute-project-a.router.default.svc.cluster.local是服务主机名,不是生成的路由名。您首先使用什么说明来设置此集群。如果你运行oc get routes,它会显示什么吗? -
@Graham,我在描述中添加了当前路线和服务。这个集群是在 openshift webconsole 中创建的,一个应用程序被部署为镜像的源,一个作为来自 dockerhub 的 docker 镜像。我正在向learn.openshift.com/introduction学习
-
您的集群设置不正确。暴露的路由不应该使用
router.default.svc.cluster.local。
标签: amazon-web-services kubernetes openshift kubernetes-ingress