K8s学习
K8s学习
-
参考网址:
https://blog.csdn.net/weixin_43980547/article/details/137085690 -
k8s 是一个用于自动化部署、扩展和管理容器化应用程序的开源系统
- 类似的容器编排工具还有 docker swarm/mesos 等,但 k8s 应用最为广泛,社区更为活跃!
-
核心概念:
Pod:是 k8s 管理的最小调度单位,它可以包含一个或多个容器,并共享网络和存储资源。Pod 提供了容器之间的通信和协作。- Deployment: 定义了应用程序的期望状态,并负责创建和管理 Pod 的副本。它支持滚动更新、回滚和扩缩容等操作。
- Service: 定义了一组 Pod 的访问方式和网络策略,为 Pod 提供了稳定的网络端点。Service 可以通过负载均衡将请求分发到后端的 Pod上。
- Namespace: 提供了一种逻辑隔离的机制,用于将集群中的资源划分为多个虚拟集群。不同的 Namespace 可以拥有独立的资源配额、访问控制策略等。
- Volume: 用于持久化数据的抽象,它可以在 Pod 之间共享和持久化存储数据。k8s 支持多种类型的 Volume,如本地磁盘、网络存储等。
-
引入背景
- 当你的应用只是跑在一台机器,直接一个 docker + docker-compose 就够了,方便轻松;
- 当你的应用需要跑在3、4台机器上,你依旧可以每台机器单独配置运行环境 + 负载均衡;
- 当你应用访问数不断增加,机器逐渐增加到十几台、上百台、上千台时,每次加机器、软件更新、版本回滚,都会变得非常麻烦、痛不欲生
- 这时候,k8s 就可以一展身手了:
- 它是一个全新的基于容器技术的分布式架构领先方案,是谷歌十几年依赖大规模应用容器技术的经验积累和升华的一个重要成果。
- 解决运维、部署问题,集群拓展问题、容器编排管理问题
- 特点
- 可移植:支持公有云,私有云,混合云,多重云;
- 可扩展:模块化,插件化,可挂载,可组合;
- 自动化:自动部署,自动重启,自动复制,自动伸缩/扩展。

浙公网安备 33010602011771号