在使用 gitlab auto devops 时,我注意到每个项目都是在自己的命名空间中创建的,将服务名称定义为production-auto-deploy
.
$kubectl get services --all-namespaces
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
app-13094854 production-auto-deploy ClusterIP 10.245.23.224 <none> 5000/TCP 11h
app-13094854 production-postgres ClusterIP 10.245.202.205 <none> 5432/TCP 11h
config-server-13051179 production-auto-deploy ClusterIP 10.245.138.49 <none> 5000/TCP 40m
default kubernetes ClusterIP 10.245.0.1 <none> 443/TCP 11h
gitlab-managed-apps ingress-nginx-ingress-controller LoadBalancer 10.245.200.23 206.189.243.26 80:30888/TCP,443:30962/TCP 11h
gitlab-managed-apps ingress-nginx-ingress-controller-stats ClusterIP 10.245.104.211 <none> 18080/TCP 11h
gitlab-managed-apps ingress-nginx-ingress-default-backend ClusterIP 10.245.202.171 <none> 80/TCP 11h
gitlab-managed-apps tiller-deploy ClusterIP 10.245.31.107 <none> 44134/TCP 11h
kube-system kube-dns ClusterIP 10.245.0.10 <none> 53/UDP,53/TCP,9153/TCP 11h
some-microservice-13093883 production-auto-deploy ClusterIP 10.245.97.62 <none> 5000/TCP 11h
some-microservice-13093883 production-postgres ClusterIP 10.245.245.253 <none> 5432/TCP 11h
可以自定义此服务名称吗?例如,我希望它包含项目名称,因此映射production-auto-deploy
->app-production-auto-deploy
和some-microservice-production-auto-deploy
.
我希望这些服务名称唯一的原因是因为我正在评估 spring-cloud-kubernetes,并且我需要使用 feign 客户端进行功能区发现的唯一服务名称。
另外我想知道为什么每个项目都有自己的命名空间,这是某种最佳实践吗?可以将 auto devops 配置为将所有项目部署在同一命名空间中吗?