部署k8s集群pod资源对象管理常用命令增删查

Posted Friends of the wind

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了部署k8s集群pod资源对象管理常用命令增删查相关的知识,希望对你有一定的参考价值。

k8s核心四资源对象

Namespace: 名称空间,一般用来隔离容器,提高控制性和安全性;
namespace仅用于资源对象的隔离,并不能隔绝不同名称空间的Pod之间的通信,那是网络策略资源的功能。
例如:财务部的软件及数据十分重要不能和其他资源放在一起,可用此隔离,既方便查找管理,也与其他项目资源分开,更安全!

Deployment: 最常见的无状态应用的控制器,支持应用的扩缩容、滚动更新等操作。

Servcie: 为弹性变动且存在生命周期的Pod对象提供了一个固定的访问接口,用于服务发现和服务访问。

Pod: 是运行容器以及调度的最小单位。同一个Pod可以同时运行多个容器,这些容器共享NET、UTS、IPC。除此之外还有 USER、PID、MOUNT


增查

初级

1、创建Namespace

查看

使用yaml文件创建pod,并在其中创建两个容器

1)创建yaml文件vim xtrabackup.yaml

kind:  Pod
apiVersion:  v1
metadata:
  name:  test-pod
  namespace:  xtrabackup
spec:
  containers:
  -  name:  test-app
     image:  httpd

  -  name:  test-web
     image:  busybox

2)调用yaml文件创建

查看

也可用命令查看详情
kubectl describe pod test-pod -n xtrabackup

中级
修改yaml文件,添加镜像下载策略

k8s默认根据镜像的TAG的不同,有3中不同策略。

Always: 镜像标签为"latest"或镜像标签不存在时,总是从指定的仓库(默认的官方仓库、或者私有仓库)中获取最新镜像。

IfNotPresent:仅当本地镜像不存在时才从目标仓库中下载。也就意味着,如果本地存在,直接使用本地镜像,无需再联网下载。

Never: 禁止从仓库中下载镜像,即只使用本地镜像。

对于标签为“latest”或者这标签不存在,其默认镜像下载策略为“Always”,而对于其他标签的镜像,默认则使用了“IfNotPresent”.

上述语句中提到的"本地"是指: docker images命令能够给查看到的镜像。

1)创建yaml文件

vim xtrabackup.yaml

kind:  Pod
apiVersion:  v1
metadata:
  name:  test-pod
  namespace:  xtrabackup
spec:
  containers:
  -  name:  test-app
     image:  httpd
     imagePullPolicy:  IfNotPresent

  -  name:  test-web
     image:  busybox
     imagePullPolicy:  IfNotPresent

2)执行:kubectl apply -f xtrabackup.yaml

3)查看
提示:一个pod可以承载多个容器,但是端口不可冲突,ready 1/2表示一个因为冲突未启动成功。

查看详情:提示本地机器已经存在busybox,则会执行策略,不去远程镜像仓库下载。
kubectl describe pod test-pod -n xtrabackup

2、 删除名称空间下的所有pod

以上是关于部署k8s集群pod资源对象管理常用命令增删查的主要内容,如果未能解决你的问题,请参考以下文章

k8s 资源管理 前导篇

k8s 实践经验:实操中学 k8s 五种资源Pod

kubernetes云原生k8s资源管理命令与Namespace使用详解

云原生之kubernetes实战k8s集群核心资源对象之Pod

Kubernetes对象之Pod详解(附安装部署方法)

k8s top命令