作者: LemonNan
原文地址: https://juejin.im/post/6862733649272537102
简单介绍
Pod 在 kubernetes 中是一个非常重要的基本概念, 别名容器组, 它是 Kubernetes 调度的最小单位
.
每个Pod 都有一个被称为 “根容器” 的 Pause 容器, Pause 容器对应的镜像属于 Kubernetes 平台的一部分, 除了这个 Pause 容器, Pod 中还有一个或者或多个用户的业务容器.一般是一个 Pod 只包含一个业务 container, 除非是一些比较紧密联系的应用才会将多个容器(container) 放到一个 Pod 里面.
Pod 是一个逻辑概念, 使用 Pod 有以下好处:
Pod 整体状态:
Pause 容器的状态作为整体的 Pod 的状态, Pause 容器跟业务无关并且不易死亡共享特性:
Pod 里的多个业务容器共享 Pause 容器的IP, 共享 Pause 容器挂接的 Volume, 这样既解决了容器间通信问题, 也解决了文件共享问题.
操作流程
尝试运行一个 Kubernetes 环境下的一个 nginx.
nginx.yaml
首先创建一个简单的测试的 yaml 文件, nginx.yaml
apiVersion: v1
kind: Pod # 创建的是Pod类型
metadata: # 元数据, 一些基础信息
name: nginx-test # 名称
labels:
name: nginx # 标签
spec:
containers:
- name: nginx # 容器名称
image: nginx:latest # 使用的镜像
ports:
- containerPort: 80 # 容器监听的端口号
实操
创建 Pod
接下来就是根据 yaml 文件创建Pod.
# 执行
kubectl create -f ./nginx.yaml
# 结果输出
pod/nginx-test created
获取IP
接下来查看刚创建的 Pod 信息, 获取 Pod 的 IP 地址 172.17.0.7
# 查看pod信息
kubectl get pods -o wide
# 获取IP: 172.17.0.7
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
nginx-test 1/1 Running 0 53s 172.17.0.7 minikube <none> <none>
进入到 minikube
# minikube 默认用户名:docker 密码:tcuser , 我的地址是 192.168.99.100
ssh docker@192.168.99.100
访问 Pod
# 访问 pod 的 ip
curl 172.17.0.7
下面是结果图
最后
本文是 Kubernetes 系列的第一篇, 简单的介绍了 Kubernetes 中最基础的一个概念 Pod 及 Pod 的一个简单实用, 下一篇将介绍在 Kubernetes 下如何使用跟 Pod 密切关联的 Service.