k8s知识点总结

docker 名称空间 分类

Docker中的名称空间用于提供进程隔离,确保容器之间的资源相互独立。主要分类包括:

PID Namespace:进程ID隔离,使每个容器有自己的进程树,容器内的进程不会干扰其他容器或主机上的进程。

NET Namespace:网络隔离,允许每个容器拥有独立的网络栈,包括IP地址、端口、路由等。

IPC Namespace:进程间通信隔离,使容器内的共享内存和信号量独立,防止不同容器之间的通信干扰。

MNT Namespace:挂载点隔离,允许每个容器有自己的文件系统视图,不同容器的文件系统不会相互干扰。

UTS Namespace:主机名和域名隔离,使容器可以有自己的主机名和域名。

USER Namespace:用户和组ID隔离,允许容器内的用户和主机上的用户独立。

docker 网络模式

bridge(桥接模式):

默认模式,容器连接到Docker创建的桥接网络。每个容器都有一个独立的IP地址,可以通过该地址相互通信。

host(主机模式):

容器直接使用宿主机的网络栈,没有网络隔离。容器的网络接口与宿主机相同,适用于性能敏感的应用。

none(无网络模式):

容器没有网络连接,适用于需要完全隔离的场景。可以通过手动配置网络来实现特定需求。

overlay(覆盖网络):

用于Docker Swarm集群,允许不同主机上的容器相互通信。通过虚拟网络实现跨主机的容器通信。

macvlan:

允许容器获得物理网络接口的MAC地址,使其在网络上表现得像独立的物理设备。适用于需要直接访问网络的场景。

ipvlan:

类似于macvlan,但在IP层上实现。适用于需要简化网络管理的场景,能够更好地支持现有的网络架构。

pod类型

1 静态pod

静态Pod不存放在etcd存储里,而是存放在某个具体的 Node 上的一个具体文件中,并且只在此 Node 上启动运行。静态 Pod 是由 kubelet 进行管理的仅存在于特定 Node 上的 pod.它们不能通过 API Server 进行管理,无法与 ReplicationController,Deployment 或者 DaemonSet 进行关联,也无法进行健康检查

2 普通pod

普通的 Pod 一旦被创建,就会被存储到 etcd 中,随后会被 Kubernetes Master 调度到某个具体的 Node 上并进行绑定(Binding),该 Node 上的 kubelet 进程会将其实例化成一组相关的 Docker 容器并启动起来。当 Pod 里的某个容器停止时,Kubernetes 会自动检测到这个问题并且重新启动这个 Pod(重启Pod里的所有容器);如果 Pod 所在的 Node 宕机,则会将这个 Node 上的所有 Pod 重新调度到其他节点上运行。

pod调度原理

pod生命周期

Pending

APIserver已经创建该server,但pod内有一个或多个容器的镜像还未创建,可能在下载中。资源不够用,调度策略,网络

Running

Pod内所有的容器已创建,所有容器都是运行状态,活性检测过了,就绪检测还有 0/1 running

Succeeded

Pod 中的所有容器都已成功终止,并且不会再重启,正常执行任务完成退出的状态

Failed

Pod 中的所有容器都已终止,并且至少有一个容器是因为失败终止,容器以非 0 状态退出或者被系统终止。

Unknown

由于某种原因无法获取Pod的状态,比如 网络不通。

相关推荐
金刚猿8 小时前
01_虚拟机中间件部署_root 用户安装 docker 容器,配置非root用户权限
docker·中间件·容器
JH_Kong8 小时前
解决 WSL 中 Docker 权限问题:从踩坑到完整修复
docker·容器
陈桴浮海10 小时前
Kustomize实战:从0到1实现K8s多环境配置管理与资源部署
云原生·容器·kubernetes
张小凡vip11 小时前
Kubernetes--k8s中部署redis数据库服务
redis·kubernetes
Hello.Reader11 小时前
Flink Kubernetes HA(高可用)实战原理、前置条件、配置项与数据保留机制
贪心算法·flink·kubernetes
ShiLiu_mtx13 小时前
k8s - 7
云原生·容器·kubernetes
MonkeyKing_sunyuhua16 小时前
docker compose up -d --build 完全使用新代码打包的方法
docker·容器·eureka
醇氧16 小时前
【docker】mysql 8 的健康检查(Health Check)
mysql·docker·容器
匀泪20 小时前
云原生(LVS NAT模式集群实验)
服务器·云原生·lvs
70asunflower20 小时前
用Docker创建不同的容器类型
运维·docker·容器