长沙优化网站厂家,中国建盏logo,云虚拟机可以做几个网站,高校人力资源管理系统网站开发docker 名称空间 分类
Docker中的名称空间用于提供进程隔离#xff0c;确保容器之间的资源相互独立。主要分类包括#xff1a; PID Namespace#xff1a;进程ID隔离#xff0c;使每个容器有自己的进程树#xff0c;容器内的进程不会干扰其他容器或主机上的进程。 NET Nam…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的状态比如 网络不通。
dnsPolicy 可以配置四种策略。
None 表示不使用集群、节点的解析只使用dnsConfig中配置的解析。Default表示使用节点上的域名解析配置。即pod内的dns配置与节点上的/etc/resolv.conf配置相同。ClusterFirst默认配置表示使用集群的DNS解析即coreDNS中的解析。注意如果同时设置hostNetwork为true的话效果相当于Default策略。另外如果coreDNS中配置了forward . /etc/resolv.conf或其他域名解析配置的话ClusterFirst不仅可以解析到集群内部的服务也可以使用节点resolv.conf配置的nameserver解析外部服务。ClusterFirstWithHostNet一般配合hostNetwork配置使用。设置hostNetwork为true后Pod会使用节点的网络命名空间此时无法与集群内其他Pod通信设置dnsPolicy为ClusterFirstWithHostNet后会将coreDNS服务地址等集群DNS服务配置加入到resolv.conf中实现使用节点的网络栈情况下与集群其他Pod通信。最终效果为Pod网络命名空间使用节点网络命名空间DNS解析使用ClusterFirst配置的DNS解析。