如何配置AWS弹性IP以指向OpenShift Origin运行pod?

时间:2018-02-22 19:32:16

标签: amazon-web-services kubernetes openshift openshift-origin

我们使用this handy guide在AWS上设置了OpenShift Origin。我们最终的 希望有一些pod运行REST或我们可以访问的类似服务 用于开发目的。因此,我们不需要DNS或类似的东西 点,只是一个带有开放端口的公共IP,指向我们的一个正在运行的pod。 我们的第一个概念证明是试图获得一个jenkins(甚至只是httpd!)pod 在OpenShift中运行,通过分配的弹性IP公开。

我不是任何一个网络工程师,但我能够成功获得 一个弹性IP连接到我的一个OpenShift“worker”实例,我 通过sshing测试分配给弹性IP的公共IP。在此刻 我们正在努力弄清楚如何制作可分配弹性IP的pod, H但是。我们尝试过kubernetes LoadBalancer服务,一个kubernetes Ingress, 并且无法配置AWS Network Load Balancer 成功连接到18.2XX.YYY.ZZZ:8080(我的公共IP)。

最有希望的成功是使用oc port-forward似乎至少在某种程度上取得了成功 通过,但令人沮丧地挂起而没有返回:

$ oc port-forward --loglevel=7 jenkins-2-c1hq2 8080 -n my-project
I0222 19:20:47.708145   73184 loader.go:354] Config loaded from file /home/username/.kube/config
I0222 19:20:47.708979   73184 round_trippers.go:383] GET https://ec2-18-2AA-BBB-CCC.us-east-2.compute.amazonaws.com:8443/api/v1/namespaces/my-project/pods/jenkins-2-c1hq2
....
I0222 19:20:47.758306   73184 round_trippers.go:390] Request Headers:
I0222 19:20:47.758311   73184 round_trippers.go:393]     X-Stream-Protocol-Version: portforward.k8s.io
I0222 19:20:47.758316   73184 round_trippers.go:393]     User-Agent: oc/v1.6.1+5115d708d7 (linux/amd64) kubernetes/fff65cf
I0222 19:20:47.758321   73184 round_trippers.go:393]     Authorization: Bearer Pqg7xP_sawaeqB2ub17MyuWyFnwdFZC5Ny1f122iKh8
I0222 19:20:47.800941   73184 round_trippers.go:408] Response Status: 101 Switching Protocols in 42 milliseconds
I0222 19:20:47.800963   73184 round_trippers.go:408] Response Status: 101 Switching Protocols in 42 milliseconds
Forwarding from 127.0.0.1:8080 -> 8080
Forwarding from [::1]:8080 -> 8080

( oc port-forward hangs at this point and never returns)

我们已经找到了很多关于如何在GKE下工作的信息,但是 没有什么对于让OpenShift Origin起作用真的很有帮助 AWS。有什么想法吗?

更新

因此我们意识到sysdig.com关于在AWS上部署OpenShift Origin的博客文章遗漏了一些关键的AWS设置信息,因此基于OpenShift Origin's Configuring AWS page,我们设置了以下env变量并重新运行了ansible playbook: / p>

$ export AWS_ACCESS_KEY_ID='AKIASTUFF'
$ export AWS_SECRET_ACCESS_KEY='STUFF'
$ export ec2_vpc_subnet='my_vpc_subnet'
$ ansible-playbook -c paramiko -i hosts openshift-ansible/playbooks/byo/config.yml --key-file ~/.ssh/my-aws-stack

我认为这让我们更接近,但是现在创建一个负载平衡器服务为我们提供了一个永远存在的IP:

$ oc get services
NAME         CLUSTER-IP    EXTERNAL-IP   PORT(S)             AGE
jenkins-lb   172.30.XX.YYY <pending>     8080:31338/TCP      12h

关于AWS Applying Configuration Changes的部分似乎暗示我需要使用AWS实例ID而不是主机名来标识我的节点,但我尝试了这个,如果我使用该方法,OpenShift Origin无法启动。还是不知所措。

0 个答案:

没有答案
相关问题