我们是否需要在kubernetes中重复yaml文件中的端口?

我们是否需要在kubernetes中重复yaml文件中的端口?,kubernetes,kubectl,minikube,Kubernetes,Kubectl,Minikube,目前我正在为kubernetes编写一个yaml文件,我对最佳实践有一些疑问。比如,我必须在每个{服务、部署Pod}中声明我要打开的端口吗 我没有找到任何建议:( 你看到了什么,比我可以写优化我的yaml文件? 提前感谢您的帮助和建议 apiVersion: v1 kind: Service metadata: name: karaf namespace: poc spec: type: NodePort selector: app: karaf ports: -

目前我正在为kubernetes编写一个yaml文件,我对最佳实践有一些疑问。比如,我必须在每个{服务、部署Pod}中声明我要打开的端口吗

我没有找到任何建议:(

你看到了什么,比我可以写优化我的yaml文件? 提前感谢您的帮助和建议

apiVersion: v1
kind: Service
metadata:
  name: karaf
  namespace: poc
spec:
  type: NodePort
  selector:
    app: karaf
  ports:
  - name: port6443
    port: 6443
    targetPort: 6443
    nodePort: 30105
  - name: port5000
    port: 6100
    targetPort: 6100
    nodePort: 30100
  - name: port5001
    port: 6101
    targetPort: 6101
    nodePort: 30101  


---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: karaf
  namespace: poc
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: karaf
    spec:
      containers:
      - name: karaf
        image: "xxxxxx/karaf:ids-1.1.0"
        imagePullPolicy: Always
        ports:
        - containerPort: 6443
          protocol: TCP
        - containerPort: 6100
          protocol: TCP
        - containerPort: 6101
          protocol: TCP


---
apiVersion: v1
kind: Pod
metadata:
  name: karaf
  labels:
    app: karaf
spec:
  containers:
    - name: karaf 
      image: "xxxxxxxxxx/karaf:ids-1.1.0"
      ports:
      - containerPort: 6443
      ports:
      - containerPort: 6100
      ports:
      - containerPort: 6101

不要重复
端口:
多次输入部署/pod,因为您的pod继承了启动它的部署,所以我假设您将它放在这里只是为了参考,因为手动创建它没有意义),这是一个列表,所以

port:
  - containerPort: 6443
  - containerPort: 6100
  - containerPort: 6101

此外,您实际上不必在这里定义端口,尽管这有助于明确什么在哪里运行。如果您不这样做,您的软件仍将在其使用的端口上启动,并且服务将成功地将流量定向到这些端口。

感谢您的回答,我还有一个问题,如何在kubernetes中获取配置文件。我有很多配置文件,通过volumeMounts还是通过配置映射来获取更好吗?