簡體   English   中英

在aws上使用彈性ip地址公開kubernetes服務

[英]Exposing kubernetes service using elastic ip address on aws

我試圖弄清楚如何使用UDP協議運行在pod內運行的openvpn服務器。

因為使用http比openvpn連接更容易測試,所以我也在openvpn-container的同一個pod內運行nginx-container。

我可以在集群內部完成所有工作但我無法使用彈性IP將此nginx服務暴露給Internet。

網絡是Weave。

Kubernetes版本是1.6

我已將service.yaml中的externalIPs-field設置為彈性ip地址。 我不能使用類型LoadBalancer,因為我的協議是UDP。

服務:

# kubectl describe service openvpn                              
Name:           openvpn
Namespace:      default
Labels:         name=openvpn
Annotations:        kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"labels":{"name":"openvpn"},"name":"openvpn","namespace":"default"},"spec":{"externalI...
Selector:       name=openvpn
Type:           NodePort
IP:         100.71.93.74
External IPs:       <my_elastic_ip>
Port:           openvpn 1194/UDP
NodePort:       openvpn 30726/UDP
Endpoints:      100.120.0.1:1194
Port:           http    80/TCP
NodePort:       http    30000/TCP
Endpoints:      100.120.0.1:80
Session Affinity:   None
Events:         <none>

端點

# kubectl get endpoints openvpn  
NAME      ENDPOINTS                         AGE
openvpn   100.120.0.1:80,100.120.0.1:1194   20h

我已經跟進了https://kubernetes.io/docs/tasks/debug-application-cluster/debug-service/ ,一切都在集群內部運行。

我已使用AWS Console手動將彈性IP分配給此特定實例。 所有安全組都會更新。

那么甚至可以使用連接到該主機節點的彈性IP連接到kubernetes集群內的pod? 如果是,怎么做?

您可以讓K8S使用類型: LoadBalancer來設置Classic AWS ELB,而不是使用IP地址。 從那里你可以CNAME域/子域到ELB並以這種方式訪問​​服務?

一個簡單的例子:

apiVersion: v1
kind: Service
metadata:
  name: MyApp
  labels:
    app: MyApp
spec:
  type: LoadBalancer
  ports:
  - port: 80
    targetPort: 80
    name: MyApp
  selector:
    app: MyApp

您可以嘗試NodePort類型。 通過以下內容,您可以通過<node-ip>:30080訪問該服務

apiVersion: v1
kind: Service
metadata:
  labels:
    app: app
  name: app-service
  namespace: default
spec:
  ports:
  - name: ext
    nodePort: 30080
    protocol: UDP
    port: 80
  selector:
    app: app
type: NodePort

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM