1Pod的含义?
官方解释:在Kubernetes集群中,Pod是所有业务类型的基础,它是一个或多个容器的组合。这些容器共享存储、网络和命名空间,以及如何运行的规范。在Pod中,所有容器都被同一安排和调度,并运行在共享的上下文中。对于具体应用而言,Pod是它们的逻辑主机,Pod包含业务相关的多个应用容器。Kubernetes不只是支持Docker容器,它也支持其他容器。
个人理解:Pod是容器组的一个抽象,类似于一栋出租楼里面的房子,房子的其他小房间像容器,房间里的水,电充当应用服务。出租屋内的小房间门跟容器端口差不多,出租屋大门像pod上的端口,整栋楼大门像service对外暴露的端口。
2使用Pod的原因?
pod是K8s最小的运行,部署单位。用K8s作容器管理,比如Mysql,Redis等服务运行需要创建Pod,才能对外提供服务。
3Pod操作相关命令
3.0 pod创建
kubectl run httpd--image=httpd -n 空间名
3.1 查看所有空间上的pod节点
kubectlget pods --all-namespaces
3.2 查看指定空间上的pod
kubectlgetpod -n 空间名
3.3 查看pod详情
kubectlget pod -o wide -n 空间名kubectldescribe pod name
3.4 指定变更pod空间清单脚本
kubectledit pod pod名 -n 空间名
3.5 删除pod
删除某个空间下pod
kubectldeleteall--all -n 空间名
删除默认空间 pod
kubectldeletepodsname
删除指定空间下pod
kubectldeletepodsname-n 空间名
3.6 登录Pod里面容器(container-name 通过3.3 可以获取)
kubectl exec -ti-c/bin/bash container-name 有多个是要指定 只有一个去掉
kubectl exec-cdate container-name 有多个是要指定 只有一个去掉 指定pod里面某个容器执行命令
3.7 查看Pod里面容器日志
kubectl logs -f-c
4脚本创建Pod
apiVersion: v1
kind: Pod
metadata:
name: test-pd
spec:
containers:
- image: tomcat:8.0
name: test-container
ports:
- containerPort: 8080
protocol: TCP