logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【K8s】解惑:K8s 与 Docker 的关系

Kubernetes(K8s)与Docker并非替代关系,而是分工协作。Docker作为容器运行时负责构建镜像和启动容器,而K8s作为编排平台专注于调度和管理。2020年K8s弃用Docker作为默认运行时转向containerd,但Docker镜像仍可兼容使用。两者通过CRI接口实现解耦,K8s支持多种运行时选择。从操作对比可见,Docker适合单机容器管理,K8s则提供自动化扩缩容、故障恢复等

文章图片
#kubernetes#docker#云原生 +1
【K8s】Pod

在 Kubernetes 的早期设计中,这个概念被称为"pause" 容器,可以理解为 Pod 的根容器或基础容器,其主要职责是占位并维护 Pod 的资源,确保 Pod 的生命周期稳定。(1)作用:它是最先启动的容器,负责为整个 Pod 持有网络和 IPC 命名空间。Pod 内所有其他用户容器都会加入(共享)由这个 pause 容器创建的命名空间。(2)为什么需要它。

文章图片
#kubernetes#容器#云原生
【K8s】控制器

ReplicaSet(RS) 是Kubernetes的一个控制器,负责确保指定数量的Pod副本始终在运行。值得注意的是,我们通常不直接使用ReplicaSet,而是通过Deployment控制器间接使用它,因为Deployment提供了滚动更新、回滚等更高级功能。ReplicaSet的核心作用包括:通过副本数量维持机制,确保集群中Pod的实际数量始终与用户期望值一致(多于则删除多余Pod,少于则创

文章图片
#kubernetes#容器#云原生
【K8s】理解Service 对象和 Endpoints 对象

Service 定义“规则”(我要访问谁),Endpoints 定义“结果”(谁能被访问)。kube-proxy 同时监视这两个对象:根据 Service 知道规则怎么配,根据 Endpoints 知道规则指向哪个具体地址。

文章图片
#kubernetes#容器#云原生
【K8s】Service发现

此时,运维人员将该Web应用对应的Service类型设置为NodePort。前端Pod只需通过该Service的名称或对应的内部域名发起请求,集群内部的DNS会自动解析为Service的虚拟IP。这样,前端完全不需要关心后端Pod的具体IP变化,实现了服务发现和负载均衡,而且这个服务不会被集群外部访问,保证了内部API的安全性。即使某台节点宕机,只要开发人员切换到另一个正常节点的IP地址和相同的N

文章图片
#kubernetes#容器#云原生
【K8s】健康检查

如果就绪探针失败,kubelet 会将该 Pod 的 IP 地址从所有匹配的 Service 的 EndpointSlice 中移除,确保不会有请求被路由到未就绪的 Pod。:当前 Pod 依赖的后端服务(如数据库、Redis、消息队列)出现故障时,可以将就绪探针设为失败,主动从负载均衡中摘除,避免返回错误响应。:在 Pod 被删除前,先让就绪探针失败,将 Pod 从流量转发中摘除,再执行关闭逻辑

文章图片
#kubernetes#容器#云原生
【K8s】配置存储卷

Kubernetes Volume(卷) 是Pod中容器可以访问的存储目录,它解决了容器的两个核心问题:容器重启后数据丢失以及同一Pod内多个容器间文件共享。K8s Volume的生命周期与Pod相同,而不是与容器绑定。这意味着:当Pod中的容器重启时,Volume中的数据仍然保留;只有当Pod被彻底删除时,Volume中的数据是否清除才取决于具体的卷类型(例如emptyDir会清除,hostPa

文章图片
#kubernetes#容器#云原生
【K8s】Pod调度、configMaps

节点亲和性 是K8s调度器用来吸引Pod到特定节点的一组规则。它提供了比更强大的功能,支持条件运算符和软硬两种调度策略。节点亲和性分为硬亲和性(Required)和软亲和性(Preferred)两种。其中,硬亲和性要求Pod必须调度到满足规则的节点上,在找不到符合条件的节点的时候,Pod会一直处于Pending状态;软亲和性是指Pod尽量调度到满足规则的节点上,但并不强制,当找不到的受会调度到其他

文章图片
#kubernetes#容器#云原生
【K8s】资源配额与访问控制

NetworkPolicy(网络策略) 是Kubernetes中用于定义Pod之间或Pod与外部之间网络流量规则的API资源,它实现了网络层的访问控制,类似于防火墙规则,实行的是"白名单制“。它的核心功能有:(1)隔离Pod网络:默认情况下,Kubernetes集群中所有Pod之间可以互相通信(“全连通”)。NetworkPolicy可以限制哪些Pod可以访问特定Pod,哪些外部IP可以访问。(2

文章图片
#kubernetes#docker#容器
【K8s】监控与升级、ETCD备份与恢复

展示Pod的详细信息(例如:事件、状态、挂载点、节点位置等)。当发现Pod处于Pending、CrashLoopBackOff等异常状态时,使用这条命令查看描述里的Events字段找原因。:查看节点实时的CPU和内存使用量(使用这条命令的前提是已经安装metrics-server了插件)。,包括Pod、Service、Deployment、ConfigMap等资源的定义以及它们的当前状态。:查看所

文章图片
#kubernetes#etcd#docker
    共 25 条
  • 1
  • 2
  • 3
  • 请选择