K8S 入门
简介:K8S(Kubernetes)是Google使用GO语言开发的一个开源容器集群管理系统,用于管理云平台中多个主机上的容器化应用,部署应用简单且高效,它提供了资源调度、部署管理、服务发现、扩容缩容、监控及维护等一些列功能,支持一系列容器工具,如Docker。
1. 基本概念
A. Pod:最小部署单元,一个Pod由一个或多个容器构成,Pod中容器共享存储和网络,在同一台Docker主机上运行,每个Pod都会包含一个"根容器",还会包含一个或者多个紧密相连的业务容器;
B. Service:是一个应用服务抽象,定义了Pod逻辑集合和访问这个Pod集合的策略,Service代理Pod集合对外表现是为一个访问入口,分配一个集群IP地址,来自这个IP的请求将负载均衡转发后端Pod中的容器;
C. Deployment:是一个更高层次的API对象,它管理ReplicaSets和Pod,并提供声明式更新等功能;
2. K8S架构
A. K8S由Master节点和Node节点构成;
master节点:是指集群控制节点,所有执行命令都是master节点上运行的,类似docker swarm中manager节点;
node节点:是指集群工作负载节点,每一个node都会被master分配一些工作负载,当某个node宕机时,其上的工作负载会被master自动转移到其他节点上,类似docker swarm中worker节点;
B. master节点:实现pod调度、弹性伸展、安全控制和系统监控及纠错等管理功能;
kube-apiserver:提供http reset接口的服务进程,是k8s里所有资源CURD操作的唯一入口,也是集群控制的入口进程;
kube-controller-manager:所有资源对象的自动化控制中心;
kube-scheduler:负责Pod资源调度的进程;
C. node节点:负责pod的创建、启动、监控、重启和销毁及负责均衡等
kubelet:负责pod对应的容器的创建、启停等任务,同时配合master节点实现集群管理的功能;
kube-proxy:实现K8S Service的通信与负载均衡机制;
docker:docker引擎,负责本机的容器创建和管理工作;
可参考:Kubernetes官方文档
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)