第5章 Pod基础
1.什么叫Pod
POD内的容器使用container模式共享根容器的网络
容器看到的网络设备信息和根容器完全相同
POD内的多个容器可以直接使用localhost通信
POD内的多个容器不能绑定相同的端口
POD的生命周期和根容器一样,如果根容器推出,POD就退出了
直接创建的Pod资源类型是不受Pod副本控制器影响的,简单来说就是删了就没了,不会自动创建
2.Pod原理
1)Pod的组成
业务容器+根容器=POD
业务容器共享根容器的网络和文件系统
2)共享网络空间
3)共享文件系统
3.使用命令行形式创建一个Pod
kubectl create pod nginx --image=nginx
4.使用资源配置清单创建Pod
体验一下使用资源配置清单创建Pod:
cat > nginx-pod.yaml << 'EOF'
apiVersion: v1
kind: Pod
metadata:
name: nginx
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
EOF
资源配置清单解释:
apiVersion: v1 #k8s资源的版本号
kind: Pod #要创建的资源类型pod,deployment...
metadata: #元数据,存在ETCD里的,不能重复,唯一标识这个资源
name: nginx #资源名称,必须写,不能重复
labels: #标签,非常重要
app: nginx #自定义 标签名:值
spec: #POD的具体配置
containers: #容器的具体配置
- name: nginx #容器名
imagePullPolicy: IfNotPresent #镜像拉取策略,always,IfNotPresent
image: nginx #镜像
应用资源配置:
kubectl apply -f nginx-pod.yaml
查看Pod创建情况:
kubectl get pod
kubectl get pod -o wide
查看Pod详细信息:
kubectl describe pod nginx
5.学习查看资源配置清单
第一种方法:看命令行帮助说明
kubectl explain pod
kubectl explain pod.metadata
kubectl explain pod.spec
kubectl explain pod.spec.containers
第二种方法:看官方文档
https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/deployment/
第三种方法:看官方文档
6.Pod相关命令
kubectl get pod
kubectl get pod -o wide
kubectl apply -f nginx-pod.yaml
kubectl delete -f nginx-pod.yaml
kubectl create pod nginx-pod --image=nginx
kubectl create deployment nginx-dp --image=nginx --replicas=3
kubectl scale dp nginx-dp --replicas=5
kubectl set image dp nginx-dp nginx-dp=nginx:1.27.0
更新: 2024-08-28 13:48:16