2017-09-15 45 views
-1

如何正確寫入kubernetes pod和服務的yaml配置,以及具有一個要求的docker上的驅動程序的minikube羣集:必須可以從主機訪問80端口的容器。帶有nodePort的解決方案無法正常工作:如何使用可從主機訪問的yaml配置在minikube上創建服務?

type: NodePort 
ports: 
    - port: 80 
    targetPort: 8006 
    selector: 
    app: blogapp 

標籤應用程序:在容器上設置blogapp。你可以顯示nginx映像的正確配置,例如可以從主機訪問的端口。

回答

0

您應該創建一個Kubernetes deployment而不是創建一個NodePort。一旦你創建了部署(這也將自動創建一個ReplicaSet和Pod),你可以expose它。默認情況下,blogapp將不可用於外部世界,因此如果您希望能夠從羣集外訪問它,則必須公開它。

公開展開也會自動創建一個service

deployment.yml

apiVersion: extensions/v1beta1 
kind: Deployment 
metadata: 
    name: blogapp 
    labels: 
    app: blogapp 
spec: 
    replicas: 1 
    strategy: {} 
    template: 
    metadata: 
     labels: 
     app: blogapp 
    spec: 
     containers: 
     - image: <YOUR_NGINX_IMAGE> 
     name: blogapp 
     ports: 
     - containerPort: 8006 
     resources: {} 
     restartPolicy: Always 
status: {} 

創建部署

kubectl create -f deployment.yml

揭露部署

kubectl expose deployment blogapp --name=blogapp --type=LoadBalancer --target-port=8006

獲取暴露URL

minikube service blogapp --url

相關問題