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来存放一个以上相同业务功能的容器, 并且共享同一网络和存储
相关推荐
白露与泡影1 小时前
探索springboot程序打包docker的最佳方式
spring boot·后端·docker
ノBye~2 小时前
Docker Compose+Jenkins自动化部署全流程
git·docker·jenkins
wuxingge3 小时前
docker部署solara音乐播放器
docker·容器
❀͜͡傀儡师4 小时前
docker部署Antigravity-Manager
运维·docker·容器·antigravity
sg_knight4 小时前
Docker环境下的MinIO安装,以及如何正确配置数据持久化(避坑篇)
运维·docker·容器·minio·ftp·cos·oss
会飞的大可5 小时前
Docker容器项目无法访问MySQL的解决策略
mysql·docker·容器
cool32005 小时前
二进制基于kubeasz部署 K8s 1.34.x 高可用集群实战指南-第一章节基础环境准备(1-4)
云原生·容器·kubernetes
涛声依旧393165 小时前
构建部署kubernetes所需主机
linux·运维·云原生·容器·kubernetes
槐序深巷里打雨伞的人6 小时前
k8s中部署prometheus并监控k8s集群以及nginx案例
nginx·kubernetes·prometheus
eRTE XFUN6 小时前
Redis 设置密码(配置文件、docker容器、命令行3种场景)
数据库·redis·docker