我正在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公共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补丁svc blog-p‘{“spec”:{“externalips”:[“什么IP?”]}}’
doc说明了ifconfig中可见的ip(但它不是aws公共ip)。我应该使用哪一个ip,aws公共ip,还是aws本地网络的专用ip(例如10-0-0-14)?
我应该使用主节点的ip吗?还是工人?如果我有两个工作节点,我是否应该同时写这两个节点的IP?
目前有以下路由:
[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
您可以通过创建一个具有公共IP的负载均衡器,并将其指向端口80处的所有节点(haproxy正在侦听端口80)来实现这一点。然后您必须创建一个通配符DNS,类似于*.apps.yourdomain.com
,并将其指向您创建的负载均衡器。
之后,您必须在OpenShift集群中配置域,请参阅https://docs.OpenShift.com/container-platform/3.6/install_config/install/advanced_install.html#configuring-cluster-variables。
然后可以公开服务并创建路由,例如blog.apps.yourdomain.com
。
我可以对我的AWS EC2实例使用SSH ok。Grizzly已经安装并启动。 我无法通过浏览器从本地计算机连接到EC2公共IPhttp://publicip:8080/索引。我有一个安全组,允许传入访问HTTP端口8080,允许所有传出。我还尝试允许ICMP进行ping,但我也无法ping。我删除了所有安全组限制,但这也不起作用。我检查了iptables,没有任何限制规则。 有什么想法吗? 谢谢
我在AWS中有一个公共子网,我在其中有3个实例。。。 WebApp01 (例如弹性 IP - 54.23.61.239) WebApp02 (私有 IP - 192.168.0.24) 虚拟应用程序03 (私有 IP - 192.168.0.25) 我的路由表设置为192.168.0.0/16 - 我可以看到拥有公共IP的实例可以访问互联网,但没有公共IP的实例无法访问互联网。 如何让Intern
我有一个场景,我必须在AWS ECS上部署多个微服务。我想让服务能够通过每个微服务中开发的API相互通信。我想把前端也部署在AWS ECS上,可以公开访问,也可以与其他部署在AWS ECS上的微服务通信。我怎样才能做到这一点呢?我是否可以使用AWS ECS服务发现,将所有服务都放在一个专用子网中,以启用每个服务之间的通信?我可以使用弹性负载均衡器使前端微服务仅通过HTTP/HTTPS协议在inte
我有一个Angular应用程序,有一个API,它连接并调用一个在服务器上建立的数据库,该数据库具有一个公共IP。 第二,你有什么想法为什么会发生这种情况吗? 谢谢。
我在EC2(Fedora)上运行了elasticsearch, 我无法使用公共IP或主机名进行外部连接。 ElasticSearch正确启动,我可以使用:curl-XGET在机器上本地访问http://localhost:9200 我确实遵循了这里解释的所有步骤:Ec2上的elasticsearch无法命中公共IP(超时) 喜欢 按照TJ在评论中说的做,重新启动实例。我不确定这是否有必要,但我做得
我正在使用NodeJS和Express。js来运行我的项目。在本地应用程序预览模式下,一切正常。但每次预览时提供的丑陋、长且临时的预览链接并不适合我,我希望有人能够通过以下方式访问我的服务器: 我在这里遵循了指南: AWS Cloud9应用程序预览指南 并将弹性IP分配并关联到运行Cloud9 IDE的EC2实例,我将入站安全规则设置如下: 运行Cloud9 IDE的EC2实例的安全组的入站规则