2017-08-10 121 views
0

我已經在Kubernetes部署了一個jenkins。現在我想創建一個服務複製上面的服務:如何創建Kubernetes服務與暴露兩個端口的kubectl

kubectl expose rs jenkins-xxx --port=8080 --target-port=8080 --name=jenkins --namespace=ci 

這工作正常。 service-ip:8080正在重定向到pod:8080。但是我還想在同一個服務中暴露5000,這樣service-ip是一樣的嗎?我的kubectl命令將如何顯示?我想kubectl

回答

2

做到這一點。如果你Pod暴露多個端口,你可以使用kubectl expose沒有任何--port--target-port參數來揭露他們的所有符合規定(例如8080-> 8080及5000〜> 5000)。

kubectl expose rs jenkins-xxx --name=jenkins --namespace=ci 

如果不是在吊艙中指定的2個端口越來越只想揭露那些2,那麼你就不能使用kubectl expose,你就必須創建Service清單和kubectl apply它。

+0

或'kubectl edit'這是由創建的服務「暴露」命令,在某些情況下,這種命令可以減少大量的打字量 –

0

把這個YAML聲明文件中的 「你-service.yaml」

apiVersion: v1 
kind: Service 
metadata: 
    labels: 
    app: your-app 
    name: your-service 
spec: 
    type: LoadBalancer 
    loadBalancerSourceRanges: 
    - 10.0.0.8/32 
    ports: 
    - name: some-endpoint-name 
     nodePort: 30100 
     port: 8081 
     targetPort: 8081 
    - name: another-endpoint-name 
     nodePort: 30101 
     port: 8082 
     targetPort: 8082 
    selector: 
    app: your-app 

從同一文件夾中運行以下命令:

kubectl create -f your-service.yaml