K8s已经成为一线大厂分布式平台的标配技术。你是不是还在惆怅怎么掌握它?来这里,大型互联网公司一线工程师亲授,不来虚的,直接上手实战,3天时间带你搭建K8s平台,快速学会K8s,点击下方图片可了解培训详情。



快速部署应用
快速扩展应用
无缝对接新的应用功能
节省资源,优化硬件资源的使用
可移植:支持公有云,私有云,混合云,多重云 multi-cloud
可扩展:模块化,插件化,可挂载,可组合
自动化:自动部署,自动重启,自动复制,自动伸缩/扩展

On-Premises(本地部署)
IaaS(基础设施即服务)
用户:租用(购买|分配权限)云主机,用户不需要考虑网络,DNS,硬件环境方面的问题。
运营商:提供网络,存储,DNS,这样服务就叫做基础设施服务
PaaS(平台即服务)
MySQL/ES/MQ/……
SaaS(软件即服务)
钉钉
财务管理
Serverless
无服务,不需要服务器。站在用户的角度考虑问题,用户只需要使用云服务器即可,在云服务器所在的基础环境,软件环境都不需要用户关心。

容器化,所有服务都必须部署在容器中
微服务,Web 服务架构式服务架构
CI/CD
DevOps


apiserver 即 K8s 网关,所有的指令请求都必须要经过 apiserver;
scheduler 调度器,使用调度算法,把请求资源调度到某一个 Node 节点;
controller 控制器,维护 K8s 资源对象;
etcd 存储资源对象。
kubelet 在每一个 Node 节点都存在一份,在 Node 节点上的资源操作指令由 kubelet 来执行;
kube-proxy 代理服务,处理服务间负载均衡;
Pod 是 k8s 管理的基本单元(最小单元),Pod 内部是容器,k8s 不直接管理容器,而是管理 Pod;
Docker 运行容器的基础环境,容器引擎;
Fluentd 日志收集服务。

一个 Master 有一群 Node 节点与之对应
Master 节点不存储容器,只负责调度、网管、控制器、资源对象存储
容器的存储在 Node 节点,容器是存储在 Pod 内部的)
Pod 内部可以有一个容器,或者多个容器
Kubelet 负责本地 Pod 的维护
Kube-proxy 负责负载均衡,在多个 Pod 之间来做负载均衡
Pod 也是一个容器,这个容器中装的是 Docker 创建的容器,Pod 用来封装容器的一个容器,Pod 是一个虚拟化分组;
Pod 相当于独立主机,可以封装一个或者多个容器。
通常情况下,在服务部署时候,使用 Pod 来管理一组相关的服务。一个 Pod 中要么部署一个服务,要么部署一组有关系的服务。
一组相关的服务是指:在链式调用的调用连路上的服务。
Pod 内部容器创建之前,必须先创建 Pause 容器;
服务容器之间访问 localhost ,相当于访问本地服务一样,性能非常高。
selector:
app = web
Release = stable
ReplicationController 副本控制器:单选
ReplicaSet 副本控制器:单选,复合选择
服务部署结构模型
滚动更新
ReplicaSet 不支持滚动更新,Deployment 对象支持滚动更新,通常和 ReplicaSet 一起使用;
Deployment 管理 ReplicaSet,RS 重新建立新的 RS,创建新的 Pod。
容器是生命周期的,一旦宕机,数据丢失
Pod 部署,Pod 有生命周期,数据丢失
有实时的数据需要存储
有状态服务集群中,把某一个服务抽离出去,一段时间后再加入机器网络,如果集群网络无法使用
没有实时的数据需要存储
无状态服务集群中,把某一个服务抽离出去,一段时间后再加入机器网络,对集群服务没有任何影响
部署模型
有状态服务

Pod 相当于一个容器,Pod 有独立 IP 地址,也有自己的 Hostname,利用 Namespace 进行资源隔离,独立沙箱环境。
Pod 内部封装的是容器,可以封装一个,或者多个容器(通常是一组相关的容器)
Pod 有自己独立的 IP 地址
Pod 内部容器之间访问采用 Localhost 访问
Pod IP:Pod 的 IP 地址
Node IP:物理机 IP 地址
Cluster IP:虚拟 IP ,是由 K8s 抽象出的 Service 对象,这个 Service 对象就是一个 VIP 的资源对象
Service 和 Pod 都是一个进程,Service 也不能对外网提供服务;
Service 和 Pod 之间可以直接进行通信,它们的通信属于局域网通信;
把请求交给 Service 后,Service 使用 iptable,ipvs 做数据包的分发。
不同的业务有不同的 Service;
Service 和 Pod 通过标签选择器进行关联。
selector:
app=x 选择一组订单的服务 pod ,创建一个 service;
通过 endpoints 存放一组 pod ip;

自动化运维平台,创业型公司,中小型企业,使用 K8s 构建一套自动化运维平台,自动维护服务数量,保持服务永远和预期的数据保持一致性,让服务可以永远提供服务。这样最直接的好处就是降本增效。
充分利用服务器资源,互联网企业,有很多服务器资源「物理机」,为了充分利用服务器资源,使用 K8s 构建私有云环境,项目运行在云。这在大型互联网公司尤为重要。
服务的无缝迁移,项目开发中,产品需求不停的迭代,更新产品。这就意味着项目不停的发布新的版本,而 K8s 可以实现项目从开发到生产无缝迁移。







