docker 和 Kubernetes(K8s) 总结

1. 背景

  • 一开始使用物理机部署项目, 但物理机成本较高
  • 为了节约成本和资源隔离, 开发了虚拟机技术, 但是其启动慢占用空间大, 非常浪费资源
  • 为了解决上述问题, 容器化技术应运而生. 启动快占用小. Docker 是应用最为广泛的容器技术
  • 随着微服务技术的广泛应用,部署项目容器的数量越来越多,由此衍生了管理容器的重大问题。Google 在 2014 年开源了容器编排引擎 Kubernetes,用于管理容器化应用 程序的部署、规划、和扩展,使我们应用的部署和运维更加方便。

基础概念

Kubernetes 来自于希腊语,含义是舵手或领航员,简称 k8s。是一种基于GO开发的开源的容器编排管理工具. 类似的容器编排工具有:Docker swarm、Apache Mesos 等

Pod

在 Kubernetes 集群中,Pod 是 k8s 管理的最小单位,它是一个或多个容器的组合。 在 Pod 中,所有容器都被统一安排和调度。 Pod 中的容器有两个特点。

  • 共享网络:Pod 中的所有容器共享同一个网络命名空间,包括 IP 地址和网络端口。
  • 共享存储:Pod 中的所有容器能够访问共享存储卷,允许这些容器共享数据。
  • 在常见的微服务中, 往往会部署多个微服务. 而为了保证高可用, 往往需要部署一个以上具有相同功能的微服务. 但是如果让这两个接口能够同时生效的话往往需要nginx该改微服务进行反向代理, 而Pod的出现则解决了该问题, 同一个pod来存放一个以上相同业务功能的容器, 并且共享同一网络和存储
相关推荐
\光辉岁月/25 分钟前
2.spring5-IOC
java·容器·ioc·注解
ms72wx33 分钟前
Docker 命令学习笔记:从入门到进阶的实战指南
笔记·学习·docker
java_logo1 小时前
Docker 部署 Excalidraw:轻松搭建手绘风格白板
运维·docker·容器·excalidraw·白板·轩辕镜像
海的透彻3 小时前
如何让docker容器启动时用自定义的用户
java·docker·dubbo
程序员清风4 小时前
LibreChat 实战:用 Docker 搭建可扩展的多模型对话平台
运维·docker·容器
Web3&Basketball5 小时前
从0到1落地AI Agent沙箱隔离Docker实战:踩坑全记录
运维·docker·容器·agent·容器安全·沙箱隔离
xianyuCcCcCCCcc5 小时前
Kubernetes Service 与网络代理
网络·云原生·kubernetes
bluebonnet276 小时前
【docker】使用regctl免安装docker下载镜像
运维·docker·容器
我不会起名字3226 小时前
PV/PVC 一直 Pending:StorageClass 与绑定条件的 4 个检查点
云原生·kubernetes·pvc·排查
程序猿阿越1 天前
从 StatefulSet 到容器挂载:CSI 源码走读
后端·kubernetes·源码阅读