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的状态,比如 网络不通。

相关推荐
一名路过的小码农1 小时前
ceph 18.2.4二次开发,docker镜像制作
ceph·docker·容器
AI_小站1 小时前
RAG 示例:使用 langchain、Redis、llama.cpp 构建一个 kubernetes 知识库问答
人工智能·程序人生·langchain·kubernetes·llama·知识库·rag
xiangshangdemayi3 小时前
Windows环境GeoServer打包Docker极速入门
windows·docker·容器·geoserver·打包·数据挂载
程序员JerrySUN4 小时前
熟悉的 Docker,陌生的 Podman
linux·docker·容器·系统架构·podman
长囧鹿5 小时前
云原生之k8s服务管理
云原生·容器·kubernetes
gobeyye5 小时前
Docker 用法详解
运维·docker·容器
怡雪~5 小时前
centos7.9搭建k8s集群
云原生·容器·kubernetes
雪碧聊技术7 小时前
Docker3:docker基础1
运维·docker·容器·docker常见命令
我要用代码向我喜欢的女孩表白9 小时前
k8s入门(不教部署,部署跟着文档来就行了)
云原生·容器·kubernetes
FLGB10 小时前
Docker 安装单机版mysql 并持久化数据
mysql·docker·容器