我理解在k8s中定义服务时如何将targetPort设置为整数值。
但是,我对如何使用字符串值设置targetPort感到有点困惑。
有关于此的任何示例吗?
谢谢,
答案 0 :(得分:1)
此服务适用于普罗米修斯。在以下清单中,首先必须在部署中定义web
,然后才能在targetPort
中将其称为字符串。
apiVersion: v1
kind: Service
metadata:
labels:
prometheus: k8s
name: prometheus-k8s
namespace: monitoring
spec:
ports:
- name: web
nodePort: 30900
port: 9090
protocol: TCP
targetPort: web
selector:
prometheus: k8s
type: NodePort
答案 1 :(得分:1)
解决@sfgroups的评论:
端口号应该是整数,是否有理由设置字符串值?
我实际上并没有在我的targetPort
中使用数字,因为从服务的PoV来看,这就是你与Pod之间的合约,比如说(如Eugene的片段)该服务将提供" web"将端口9090上的内容发送到外部,并使用名为" web"的暴露(关键字)端口。从Pod开始,然后由Pod来映射Pod的#" web"到其容器中的整数端口。因此,如果他们想要使用nginx:80或tomcat on:8080或节点on:3000或or或者,那就是Pod及其容器,并且不应该是服务的关注点。