以下代码展示了一个 Kubernetes Service 配置示例,用于部署 Grafana 服务,名为 'grafana-np'。

apiVersion: v1
kind: Service
metadata:
  name: grafana-np
  namespace: monitoring
  labels:
    app: grafana  
spec:
  type: NodePort
  sessionAffinity: ClientIP
  selector:
    app: grafana
  ports:
  - name: http
    port: 3000
    targetPort: http
    nodePort: 30080

代码分析:

  • apiVersion: v1: 指定 API 版本为 v1。
  • kind: Service: 声明这是一个 Kubernetes Service 资源。
  • metadata: 包含服务元数据,如名称 'grafana-np',命名空间 'monitoring',以及标签 'app: grafana'。
  • spec: 定义服务的具体配置。
    • type: NodePort: 指定服务的类型为 NodePort,允许从集群外部访问。
    • sessionAffinity: ClientIP: 启用 ClientIP 会话亲和性,确保来自同一个客户端的请求被路由到同一个 Pod。
    • selector: app: grafana: 选择与标签 'app: grafana' 匹配的 Pod。
    • ports: 定义服务端口映射。
      • name: http: 端口名称为 'http'。
      • port: 3000: 服务端口为 3000。
      • targetPort: http: 目标端口为 Pod 中名为 'http' 的容器端口。
      • nodePort: 30080: NodePort 端口为 30080,用于从集群外部访问服务。

注意事项:

  • 确保在 'monitoring' 命名空间中存在一个标签为 'app: grafana' 的 Pod。
  • 确保该 Pod 中有一个名为 'http' 的容器,且容器端口为 3000。
  • 确保 Kubernetes 集群中的所有节点都可以通过 30080 端口访问该服务。
Kubernetes Service 配置示例:grafana-np

原文地址: https://www.cveoy.top/t/topic/kRZ2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录