刘小帅

k8s最基本的deployment 和service 学习第一次
deployment.yamlapiVersion: apps/v1 #于k8s集群版本有关,使用kubectl ...
扫描右侧二维码阅读全文
07
2020/07

k8s最基本的deployment 和service 学习第一次

deployment.yaml

apiVersion: apps/v1 #于k8s集群版本有关,使用kubectl api-servrsions 即可查看当前集群支持的版本
kind: Deployment #该配置的类型,我们使用的是deployment
metadata: #译名为元数据,即deployment的一些基本属性和信息
  name: nginx-deployment #deployment的名称
  labels: #标签,可以灵活定位一个或多个资源,其中key和value均可自定义,可以定义多组
    app: nginx #为该deployment设置key为app value为nginx的标签
spec: #这是关于该deployment的描述,可以理解为你期待该deployment再k8s中如何使用
  replicas: 1 #使用该deployment创建一个应用程序实例
  selector: #标签选择器,与上面的标签共同作用 
    matchLabels: #选择包含标签app:nginx的资源
       app: nginx

  template: #这是选择或创建pod的模板
    metadata: #pod的元数据
      labels: #pod的标签,上面的selector即选择包含标签app:nginx的pod
        app: nginx
    spec: #期待pod实现的功能(即在pod中部署) 
      containers: #生成container,与docker中的container是同一种
      - name: nignx #container的名称
        image: nginx:1.7.9 #使用镜像nginx1.7.9创建container,该container默认80端口可以访问

service.yaml

apiVersion: v1
kind: Service
metadata:
  name: nginx-service #Service 的名称
  labels: #Service 自己的标签
    app: nginx #为该 Service 设置 key 为 app,value 为 nginx 的标签
spec: #这是关于该 Service 的定义,描述了 Service 如何选择 Pod,如何被访问
  selector:  #标签选择器
    app: nginx #选择包含标签 app:nginx 的 Pod
  ports:
  - name: nginx-port  #端口的名字
    protocol: TCP    #协议类型 TCP/UDP
    port: 80         #集群内的其他容器组可通过 80 端口访问 Service
    nodePort: 32600 #通过任意节点的 32600 端口访问 Service
    targetPort: 80  #将请求转发到匹配 Pod 的 80 端口
  type: NodePort #Serive的类型,ClusterIP/NodePort/LoaderBalancer
                                                                   
Last modification:July 7th, 2020 at 04:11 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment