2016-07-21 15 views
2

Hier ist das Problem, auf das ich stoße. Ich versuche den WSO2 API Manager zu implementieren, der Open Source ist.WSO2 Kuberentes AWS-Bereitstellung

Kann die Dokumenation finden, wie dies hier zu tun: https://github.com/wso2/kubernetes-artifacts/tree/master/wso2am

Dockerfiles: https://github.com/wso2/dockerfiles/tree/master/wso2am

Was ich tat, war die Build die Docker Bilder aufnehmen, die für kuberenetes erforderlich ist. Ich nehme dann diese Docker Images und deploy sie zu EC2 Container Service.

Ich als Update die wso2 kuberenetes spec Dateien (Controller), um das Bild zu verwenden, schob ich zu EC2 Container Service.

Ich gehe dann in Kubernetes: Kubernetes-Artefakte/wso2am and run "./deploy -d"

Es ist als das Warten auf Start-Script läuft, aber es hält nur Looping und nie "findet", dass es oben.

[email protected]:~/wso2kubernetes/kubernetes-artifacts/wso2am# ./deploy.sh -d 
Deploying MySQL Governance DB Service... 
service "mysql-govdb" created 
Deploying MySQL Governance DB Replication Controller... 
replicationcontroller "mysql-govdb" created 
Deploying MySQL User DB Service... 
service "mysql-userdb" created 
Deploying MySQL User DB Replication Controller... 
replicationcontroller "mysql-userdb" created 
Deploying APIM database Service... 
service "mysql-apim-db" created 
Deploying APIM database Replication Controller... 
replicationcontroller "mysql-apim-db" created 
Deploying wso2am api-key-manager Service... 
You have exposed your service on an external port on all nodes in your 
cluster. If you want to expose this service to the external internet, you may 
need to set up firewall rules for the service port(s) (tcp:32013,tcp:32014,tcp:32015) to serve traffic. 

See http://releases.k8s.io/release-1.3/docs/user-guide/services-firewalls.md for more details. 
service "wso2am-api-key-manager" created 
Deploying wso2am api-store Service... 
You have exposed your service on an external port on all nodes in your 
cluster. If you want to expose this service to the external internet, you may 
need to set up firewall rules for the service port(s) (tcp:32018,tcp:32019) to serve traffic. 

See http://releases.k8s.io/release-1.3/docs/user-guide/services-firewalls.md for more details. 
service "wso2am-api-store" created 
Deploying wso2am api-publisher Service... 
You have exposed your service on an external port on all nodes in your 
cluster. If you want to expose this service to the external internet, you may 
need to set up firewall rules for the service port(s) (tcp:32016,tcp:32017) to serve traffic. 

See http://releases.k8s.io/release-1.3/docs/user-guide/services-firewalls.md for more details. 
service "wso2am-api-publisher" created 
Deploying wso2am gateway-manager Service... 
You have exposed your service on an external port on all nodes in your 
cluster. If you want to expose this service to the external internet, you may 
need to set up firewall rules for the service port(s) (tcp:32005,tcp:32006,tcp:32007,tcp:32008) to serve traffic. 

See http://releases.k8s.io/release-1.3/docs/user-guide/services-firewalls.md for more details. 
service "wso2am-gateway-manager" created 
Deploying wso2am api-key-manager Replication Controller... 
replicationcontroller "wso2am-api-key-manager" created 
Waiting wso2am to launch on http://172.20.0.30:32013 
....... 

Ich versuchte, die „/wait-until-server-starts.sh“ Skript zu kommentieren und hat es einfach alles zu starten. Aber immer noch nicht auf den API Manager zugreifen.

Könnte wirklich einige Erkenntnisse dazu verwenden, wie ich völlig fest bin. Ich habe alles versucht, was mir einfällt.

Wenn jemand im WSO2-Team oder das getan hat, könnte dies hilfreich sein. Meine Theorie ist jetzt vielleicht, dass es nie getestet wurde, dies in AWS zu implementieren, sondern nur in einem lokalen Setup? aber ich könnte falsch liegen.

Jede Hilfe würde sehr geschätzt werden!

EDIT: einige Ausgaben von kubectl Protokollen Hinzufügen usw., während es in der Schleife für Server wartet zu kommen ich diese Dinge sehen:

[email protected]:~# kubectl get pods 
NAME       READY  STATUS RESTARTS AGE 
mysql-apim-db-b6b0u   1/1  Running 0   11m 
mysql-govdb-0b0ud    1/1  Running 0   11m 
mysql-userdb-fimc6    1/1  Running 0   11m 
wso2am-api-key-manager-0pse8 1/1  Running 0   11m 

auch ein kubectl Protokoll tun zeigt, dass alles richtig begonnen:

[2016-07-21 18:46:59,049] INFO - StartupFinalizerServiceComponent Server   : WSO2 API Manager-1.10.0 
[2016-07-21 18:46:59,049] INFO - StartupFinalizerServiceComponent WSO2 Carbon started in 34 sec 
[2016-07-21 18:46:59,262] INFO - CarbonUIServiceComponent Mgt Console URL : https://wso2am-api-key-manager:32014/carbon/ 
[2016-07-21 18:46:59,262] INFO - CarbonUIServiceComponent API Publisher Default Context : http://wso2am-api-key-manager:32014/publisher 
[2016-07-21 18:46:59,263] INFO - CarbonUIServiceComponent API Store Default Context : http://wso2am-api-key-manager:32014/store 
+0

Sie den Dienst in einer VPC Bereitstellung sind? Und wenn ja, wird es in einem privaten Subnetz oder öffentlichen Subnetz bereitgestellt? – error2007s

+0

Ja Bereitstellung des Clusters mit K8, die ich bestätigt habe, funktioniert ordnungsgemäß durch die Bereitstellung eines Wordpress/Nginx Kuberentes-Setup und ich konnte auf diese gut zugreifen. "exportieren KUBERNETES_PROVIDER = aws; curl -sS https://get.k8s.io | bash" –

+0

Ich habe Ihren Kommentar nicht erhalten? – error2007s

Antwort

0

@Alex Dies war ein Problem in der Version WSO2 Kubernetes Artifacts v1.0.0. Das haben wir im Masterzweig [1] behoben.

Das Problem bestand darin, dass der Bereitstellungsprozess versuchte, WSO2 API-M-Server-Sockets mithilfe privater IP-Adressen der Kubernetes-Knoten zu überprüfen. Wir haben die Skripts aktualisiert, um die öffentliche/externe IP-Adresse zu verwenden, wenn sie über die Kubernetes-CLI verfügbar sind. Damit dies funktioniert, müssen Sie möglicherweise Kubernetes auf AWS gemäß [2] einrichten.

[1] https://github.com/wso2/kubernetes-artifacts/commit/53cc6979965ebed8800b803bb3454f3b758b8c05 [2] http://kubernetes.io/docs/getting-started-guides/aws/