IT评测·应用市场-qidao123.com技术社区

标题: k8s~关于非常啰嗦的标签和选择器 [打印本页]

作者: 王海鱼    时间: 2024-12-4 23:34
标题: k8s~关于非常啰嗦的标签和选择器
总感觉k8s中定义的deplyment和service非常的啰嗦,尤其是在选择器的定义上,但没办法,它的设计总有它的原理。
nginx的部署

下面是一个 Kubernetes YAML 文件示例,用于部署一个 Nginx 服务。该文件包括 Deployment 和 Service 的定义,Service 类型设置为 ClusterIP。
Nginx 部署 YAML 示例
  1. apiVersion: apps/v1
  2. kind: Deployment
  3. metadata:
  4.   name: nginx-deployment
  5.   labels:
  6.     app: nginx
  7. spec:
  8.   replicas: 1  # 设置副本数为 1
  9.   selector:
  10.     matchLabels:
  11.       app: nginx
  12.   template:
  13.     metadata:
  14.       labels:
  15.         app: nginx
  16.     spec:
  17.       containers:
  18.       - name: nginx
  19.         image: nginx:stable-alpine  # 使用最新的 Nginx 镜像
  20.         ports:
  21.         - containerPort: 80   # 容器内部的端口
  22. ---
  23. apiVersion: v1
  24. kind: Service
  25. metadata:
  26.   name: nginx-service
  27. spec:
  28.   type: ClusterIP  # 使用 ClusterIP 类型
  29.   selector:
  30.     app: nginx  # 根据标签选择 Pod
  31.   ports:
  32.     - port: 80          # Service 的端口
  33.       targetPort: 80    # 转发到容器的端口
复制代码
说明

部署步骤

通过以上步骤,你将可以或许在 Kubernetes 中成功部署一个 Nginx 服务,并通过 ClusterIP 类型的 Service 来访问它。假如你有其他标题或需要进一步的帮助,请随时告诉我!
关于特殊啰嗦的labels的解释

在 Kubernetes 中,Deployment 的定义中确实存在多个地方使用了雷同的标签(如 metadata.labels.app=nginx),这有其特定的目标和意义。下面是对这些标签的详细解释及其用意:
1. Metadata Labels

2. Spec Selector

3. Template Metadata Labels

为什么要重复定义?


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/) Powered by Discuz! X3.4