2017-08-10 122 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