Kubernetes Service 配置示例:grafana-np
以下代码展示了一个 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 端口访问该服务。
原文地址: https://www.cveoy.top/t/topic/kRZ2 著作权归作者所有。请勿转载和采集!