桂林网萌科技有限公司seo推广软件
- Pod是什么?
- 如何使用Pod?
- 资源共享和通信
- Pod 中的存储
- Pod 联网:
- 跨 Pod 通信
- 静态 Pod
- 感谢 💖
Pod是什么?
Pod是k8s中创建和管理的、最小的可部署的计算单元。它包含一个或多个容器。就像豌豆荚里面包含了多个豌豆一样。一个Pod可以包含应用容器、在 Pod 启动期间运行的 Init 容器、临时性容器等。 这些容器共享存储、网络、以及怎样运行这些容器的声明。
如何使用Pod?
Pod是一种资源对象,要使用,首先需要创建Pod。一般有两种创建Pod的方式,要么是自己手动直接创建,要么使用工作负载资源来创建。
手动创建往往先创建一个yaml文件,在文件中使用特定的模板来定义Pod的一些特性。比如下面是一个Pod的yaml文件示例,它由一个运行镜像 nginx:1.14.2 的容器组成,假定它叫simple-pod.yaml
apiVersion: v1
kind: Pod
metadata:name: nginx
spec:containers:- name: nginximage: nginx:1.14.2ports:- containerPort: 80
然后运行命令创建Pod。比如要创建上面显示的 Pod,就运行以下命令:kubectl apply -f simple-pod.yaml
。
但往往不需要我们直接创建Pod,而是使用工作负载资源创建。资源的控制器能够处理副本的管理、上线,并在 Pod 失效时提供自愈能力。 例如,如果一个节点失败,控制器注意到该节点上的 Pod 已经停止工作, 就可以创建替换性的 Pod。调度器会将替身 Pod 调度到一个健康的节点执行。
资源共享和通信
Pod 里的成员容器间能够进行数据共享和通信。它们共享Pod的网络和存储。
Pod 中的存储
Kubernetes 允许一个 Pod 中的多个容器共享存储卷。这意味着这些容器可以在同一文件系统中读取和写入数据。这对于需要在容器之间共享数据的应用程序非常有用,例如数据库容器和应用程序容器可以共享持久数据卷。这些卷也可以用于确保数据的持久性,即使容器需要重新启动,数据也会保留。
Pod 联网:
每个 Pod 都有一个唯一的 IP 地址,它在每个地址族(IPv4 和 IPv6)中都有效。Pod 中的所有容器共享这些网络名字空间,包括 IP 地址和网络端口。这意味着 Pod 内的容器可以使用 localhost 来互相通信,就好像它们运行在同一台虚拟机或物理主机上一样。
跨 Pod 通信
如果一个容器需要与其他 Pod 中的容器通信,它必须使用 IP 网络来实现。这意味着容器可以使用其他 Pod 的 IP 地址来进行通信。这通常需要一些额外的配置和网络策略,以确保安全和可靠的跨 Pod 通信。
静态 Pod
静态 Pod 是 Kubernetes 中一种特殊的 Pod 类型,与常规 Pod 不同,它不是通过 Kubernetes API 服务器来管理的,而是由节点上的 kubelet 直接管理。它 与由控制面管理的 Pod(例如,Deployment) 不同;kubelet 监视每个静态 Pod(在它失败之后重新启动)。kubelet 会尝试通过 Kubernetes API 服务器为每个静态 Pod 自动创建一个镜像 Pod。 这意味着节点上运行的静态 Pod 对 API 服务来说是可见的,但是不能通过 API 服务器来控制。 Pod 名称将把以连字符开头的节点主机名作为后缀。
感谢 💖
好啦,这次的分享就到这里,感谢大家看到这里🤞