2016-02-21 60 views
1

在Kubernetes CoreOS Vagrant Multi-Machine上運行入口控制器有什麼特別之處嗎?我跟着這個例子,但是當我運行kubectl -f時,我沒有收到地址。Kubernetes Ingress Controller on Vagrant

例子:

http://kubernetes.io/v1.1/docs/user-guide/ingress.html#single-service-ingress

設置:

https://coreos.com/kubernetes/docs/latest/kubernetes-on-vagrant.html

我看着在kubernetes網絡。一切看起來應該運行,沒有進一步的配置。

我的目標是在構建生產平臺之前創建本地測試環境。我在想他們如何設置虛擬網絡網絡。我即將進入CoreOS雲配置,但認爲我會先問。

UPDATE

是我運行一個入口控制器。

https://github.com/kubernetes/contrib/blob/master/Ingress/controllers/nginx-alpha/rc.yaml

它在運行時給了一個錯誤。這只是當我運行kubectl -f我沒有得到一個地址。我想有兩件事情:

  1. 我必須做一些額外的網絡CoreOS-Kubernetes流浪多節點。
  2. 它運行正常,但我指向我的localhost到錯誤的IP。我使用172.17.4.x IP,我也有10.0.0.x。我可以通過使用NodePort的172.17.4.x訪問服務,但我可以訪問我的Ingress。

下面是代碼:

apiVersion: v1 
kind: ReplicationController 
metadata: 
    name: nginx-ingress 
    labels: 
    app: nginx-ingress 
spec: 
    replicas: 1 
    selector: 
    app: nginx-ingress 
    template: 
    metadata: 
     labels: 
     app: nginx-ingress 
    spec: 
     containers: 
     - image: gcr.io/google_containers/nginx-ingress:0.1 
     imagePullPolicy: Always 
     name: nginx 
     ports: 
     - containerPort: 80 
      hostPort: 80 

更新命令的2 輸出:

kubectl get pods

NAME     READY  STATUS RESTARTS AGE 
echoheaders-kkja7  1/1  Running 0   24m 
nginx-ingress-2wwnk 1/1  Running 0   25m 

kubectl logs nginx-ingress-2wwnk --previous

Pod "nginx-ingress-2wwnk" in namespace "default": previous terminated container "nginx" not found 

kubectl exec nginx-ingress-2wwnk -- cat /etc/nginx/nginx.conf

events { 
    worker_connections 1024; 
} 
http { 


}% 

我跑在NodePort的echoheaders服務。當我在瀏覽器上鍵入節點IP和端口時,我可以很好地進行操作。

我也重新啓動了virtualbox中的所有節點。

+0

您是否正在運行Ingress控制器(如果是的話)?請參閱http://kubernetes.io/v1.1/docs/user-guide/ingress.html#ingress-controllers和https://github.com/kubernetes/contrib/tree/master/Ingress/controllers。您可能需要其中一個nginx控制器或serviceloadbalancer:https://github.com/kubernetes/contrib/tree/master/service-loadbalancer –

+0

是的,使用ingress-rc。更新問題的細節。 – steve76

+0

您可以在此主題上發佈調試步驟的輸出:https://groups.google.com/forum/#!topic/google-containers/JeagxWTEYtQ。 –

回答

1

在kubernetes irc和slack的幫助下,我解決了這個問題。如果我沒有記錯的話,我已經在一個已經被使用的端口上監聽入口服務,我認爲這是爲了流浪。這些命令真的有幫助:

kubectl get pod <nginx-ingress pod> -o json 
kubectl exec <nginx-ingress pod> -- cat /etc/nginx/nginx.conf 
kubectl get pods -o wide 
kubectl logs <nginx-ingress pod> --previous 
+0

你記得你做了什麼來解決這個問題?在所有容器啓動並且我可以直接連接到端口上的端口上的端口上時,Ingress-lb在我嘗試IP時不斷返回連接。即使按照這個例子下到tee - https://medium.com/@rothgar/exposing-services-using-ingress-with-on-prem-kubernetes-clusters-f413d87b6d34#.cclkvdn9s – bythe4mile

+0

嘗試幫助kubernetes鬆弛通道,他們真的很好,讓我起來:http://slack.kubernetes.io/。 。 。 。 。對於我的情況,我與Kubernetes一起在Vagrant運行CoreOS。該流浪者安裝程序正在採用kubernetes ic所需的端口。我改變了Vagrant上的端口,並修復了它。檢查日誌有很多幫助,而不僅僅是kubernetes,但是在這種情況下,作爲負載均衡器的任何東西都是有用的。 – steve76

相關問題