搜索
写经验 领红包
 > 动物

k8s的deploymet详解(k8s edpoits)

k8s的deployment及Endpoint介绍

deployment配置项

Kubernetes (k8s) 中的 Deployment 是一种对象,用于管理 Pod 和 ReplicaSet。Deployment 允许你声明式地定义 Pod 和 ReplicaSet 的期望状态,并根据需要自动创建、更新和删除 Pod。下面是 Deployment 的一些常见配置项:

metadata:用于定义 Deployment 的元数据,包括名称、命名空间、标签等。spec:用于定义 Deployment 的规范。其中包括以下配置项:selector:用于选择要控制的 Pod。通常是根据标签选择 Pod。replicas:用于指定要创建的 Pod 的数量。template:用于定义创建的 Pod 的模板。包括容器镜像、容器端口、环境变量等。strategy:用于定义更新策略。包括 rollingUpdate(滚动更新)和 recreate(重新创建)两种策略。minReadySeconds:用于定义更新后 Pod 可以被标记为就绪状态的最短时间。revisionHistoryLimit:用于指定要保留的历史版本数。status:用于显示 Deployment 的状态,包括可用的 ReplicaSet 数量、更新状态等。

Endpoint

在 Kubernetes(k8s)中,Endpoint 是一种对象,用于描述 Service 的后端 Pod 的网络地址。它是由 kube-controller-manager 控制器自动创建和更新的,不需要手动创建。Endpoint 可以确保 Service 可以访问到后端 Pod,从而实现负载均衡和高可用性。下面是一些 Endpoint 的特点:

IP 地址:Endpoint 包含一个或多个 Pod 的 IP 地址,可以通过这些地址访问到后端 Pod。端口号:Endpoint 包含一个或多个 Pod 的端口号,可以通过这些端口号访问到后端 Pod 提供的服务。自动更新:Endpoint 是由 kube-controller-manager 控制器自动创建和更新的。当 Service 的 selector 或 Pod 的标签发生变化时,Endpoint 也会相应地更新。可靠性:Endpoint 可以确保 Service 可以访问到后端 Pod,即使某些 Pod 失败或被删除,也可以自动更新 Endpoint。透明性:Endpoint 对 Service 的使用者来说是透明的,它们只需要使用 Service 的名称和端口号即可访问到后端 Pod。endpoint和deployment有什么关系

Deployment 和 Endpoints 都是 Kubernetes 中用于管理 Pod 和 Service 的工具。

Deployment:用于部署 Pods,它包含了一系列的 ReplicationController,每个 ReplicationController 对应一个或多个 Pod。当你创建一个 Deployment 时,你需要指定它们的 ReplicationControllers,并且这些 ReplicationControllers 会按照你指定的顺序进行部署。

Endpoints: 则用于管理 Pods 的 Service,它是一个更加通用的概念,它不依赖于 Deployment 或其他 ReplicationController。当你创建一个 Endpoints 时,你不需要指定它们的 ReplicationControllers,因为 Kubernetes 会自动为你生成这些。通过 Endpoints,你可以轻松地管理 Pods 的 Service,包括启动、停止、修改、查找等操作。

温馨提示:通过以上关于k8s的deployment及Endpoint介绍内容介绍后,相信大家有新的了解,更希望可以对你有所帮助。