我正在尝试将基于Netflix OSS的应用程序迁移到Kubernetes,所以我找到的理想方法是创建NodePort类型的服务并将应用程序注册到Eureka。所以我正在做eureka.hostname = hostIP和eureka.nonSecurePort = nodePort
这就是我所做的-
使用服务类型NodePort为sample-app-service创建服务。
通过运行命令kubectl create configmap saas-event-reception-config --from-literal = nodePort = $(kubectl get -o jsonpath =“ {。spec.ports [ 0] .nodePort}“ services sample-app-service)(问题:我可以将其指定为Yaml吗?)
使用部署Yaml中的configMapKeyRef引用nodePort。
我面临的问题是在自动部署期间。因此,理想情况下,我想使用一个包含Service,ConfigMap和Deployment的部署文件来部署应用程序。有没有办法我可以优雅地做到这一点?或对此有其他建议。
我也在查看头盔,即使我使用--set通过运行以下命令将nodePort传递给ConfigMap(kubectl get -o jsonpath =“ {。spec.ports [0] .nodePort}”服务示例-app-service),必须首先部署服务,以便ConfigMap获取nodePort值。有办法吗?
答案 0 :(得分:0)
您可以执行的操作是在服务yaml文件中的ports
下将specify a port from the service-node-port-range(默认为30000-32767)命名为nodePort
。然后,您将提前知道nodePort。您可以使用helm来传递nodePort用作参数,以便在服务Yaml以及您的ConfigMap和Deployment中使用此参数。