当前位置:  开发笔记 > 运维 > 正文

Kubernetes - 部署是否包含服务?

如何解决《Kubernetes-部署是否包含服务?》经验,为你挑选了1个好方法。

刚读完Nigel Poulton的The Kubernetes Book,但我对服务有点不解.

是否可以以某种方式将服务添加到部署清单中?或者服务是否必须自行发布?部署的全部目的不是指定应用程序运行所需的所有内容吗?

apiVersion: apps/v1beta2
kind: Deployment
metadata: 
  name: hello-deploy
spec:
  replicas: 10
  selector:
    matchLabels:
      app: hello-world
  minReadySeconds: 10
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 1
      maxSurge: 1
  template:
    metadata:
      labels:
        app: hello-world
    spec:
      containers:
      - name: hello-pod
        image: nigelpoulton/k8sbook : latest
        ports:
        - containerPort: 8080

David Maze.. 5

它们是不同的对象,您必须单独提交它们(HTTP POST kubectl apply,, ...).

您可以采取一些技巧来最大限度地减少这种影响:

您可以使用多文档YAML文件并将其作为单个内容提交,例如

---
apiVersion: apps/v1
kind: Deployment
...
---
apiVersion: v1
kind: Service
...

有一个没有文档kind: List可以嵌入多个对象

apiVersion: v1
kind: List
items:
  - apiVersion: apps/v1
    kind: Deployment
    ...
  - apiVersion: v1
    kind: Service
    ...

您可以使用更高级别的部署管理器(如Helm),该管理器允许您将每个对象保存在单独的文件中,但可以将它们部署在单个命令中.

或许不幸的是,一些Kubernetes对象的名称与其简单的英语含义不同(部署不包括部署整个应用程序的所有步骤或部分;服务只是一个IP/DNS指针,而不是服务实施)但这就是它的方式.当它消除歧义时,我倾向于将Kubernetes对象名称大写.



1> David Maze..:

它们是不同的对象,您必须单独提交它们(HTTP POST kubectl apply,, ...).

您可以采取一些技巧来最大限度地减少这种影响:

您可以使用多文档YAML文件并将其作为单个内容提交,例如

---
apiVersion: apps/v1
kind: Deployment
...
---
apiVersion: v1
kind: Service
...

有一个没有文档kind: List可以嵌入多个对象

apiVersion: v1
kind: List
items:
  - apiVersion: apps/v1
    kind: Deployment
    ...
  - apiVersion: v1
    kind: Service
    ...

您可以使用更高级别的部署管理器(如Helm),该管理器允许您将每个对象保存在单独的文件中,但可以将它们部署在单个命令中.

或许不幸的是,一些Kubernetes对象的名称与其简单的英语含义不同(部署不包括部署整个应用程序的所有步骤或部分;服务只是一个IP/DNS指针,而不是服务实施)但这就是它的方式.当它消除歧义时,我倾向于将Kubernetes对象名称大写.

推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有