2017-04-11 49 views
2

我在我的機器上運行minikube版本v0.17.1。我想模擬AWS中的環境,其中我的MySQL實例將位於我的Kubernetes集羣之外。Minikube公開作爲服務運行在本地主機上的MySQL

基本上,我如何將我的機器上運行的本地MySQL實例公開到通過minikube運行的Kubernetes集羣?

+0

這也許【答案】(http://stackoverflow.com/questions/38046113/minikube-not-able-to-connect-a-locally-deployed-nginx-service ) 會幫助你? –

+1

不是,或者至少我不確定。大多數帖子,包括這篇文章,似乎都討論瞭如何從本地主機訪問在Kubernetes中運行的服務,而我想要的恰恰相反:在本地主機上公開一個端口,並在我的Kubernetes羣集中提供它。 – cgf

回答

1

Kubernetes允許您在沒有選擇器的情況下創建服務,並且羣集不會爲此服務創建相關端點,我們通常使用此功能代理我們的遺留組件或外部組件。

  1. 沒有選擇

    apiVersion: v1 
    kind: Service 
    metadata: 
        name: my-service 
    spec: 
        ports: 
         - protocol: TCP 
          port: 1443 
          targetPort: <YOUR_MYSQL_PORT> 
    
  2. 創建服務創建一個相對端點對象

    apiVersion: v1 
    kind: Endpoints 
    metadata: 
        name: my-service 
    subsets: 
        - addresses: 
         - ip: <YOUR_MASQL_ADDR> 
         ports: 
         - port: <YOUR_MYSQL_PORT> 
    
  3. 得到服務IP

    $ kubectl get svc my-service 
    NAME   CLUSTER-IP  EXTERNAL-IP PORT(S) AGE 
    my-service <SERVICE_IP> <none>  1443/TCP 18m 
    
  4. 次訪問你的MySQL從服務<SERVICE_IP>:1443

相關問題