技术笔记分享

我们创建Pod的时候一般不直接创建Pod,而是通过deployments控制器去创建Pod,先创建deployments控制器,然后deployments去自动去创建Pod。

控制器也属于资源对象,同时属于在名称空间级别下的资源,我们创建的控制器也要在一个名称空间当中

查看默认名称空间下的deploymentk控制器
kubectl get deploy #简写
kubectl get deployment #全写

查看指定名称空间下的所有deployment控制器
我们查看指定名称空间下的控制器需要使用 -n [namespace] 选项来指定名称空间

kubectl get deploy -n production #简写
kubectl get deployment -n production #全写

指定格式查看deployment控制器

创建deployment控制器

下面创建deployment控制器没有指定名称空间(默认在default名称空间中)

查看创建的deployment

这里我们查看为 -n default 指定名称空间下的 deploy/nginx-deploy 指定deploy控制器

kubectl get deploy/nginx-deploy -n default -o wide

查看被nginx-deploy控制器自动创建的pod

kubectl get pods -n default -o wide | grep nginx-deploy

销毁或删除pod

通过deployment创建的pod会被master节点的Controller组件所管理,如果我们对pod进行了删除,销毁等操作,Controller组件会立刻重建相应的pod,使其与我们期望的pod数量一致。

访问pod

Pod删除之后deployments控制器会再次快速生成一个一样Pod,虽然说我们执行命令进行了删除,但是控制器还会再次生成,生成后的Pod,改变了Pod名称,IP等等,但是镜像还是不变,我们无法再通过上个Pod地址访问到Pod。
我们使用 kubectl get pods -n default -o wide | grep nginx-deploy 命令可以获取到刚才创建pods的IP地址,在宿主机可直接访问。

curl http://10.244.3.10

删除deployments控制器

删除deployment控制器后,Pod也会被随之删除,不会再进行恢复

kubectl delete deploy -n default nginx-deploy

显示同一个名称空间下的多个资源对象

上面我们创建了nginx-deploy控制器,然后控制器自动创建了pod,都同隶属于default名称空间下,那么我们如何显示同一名称空间下的控制器和pod呢?

发表评论

邮箱地址不会被公开。 必填项已用*标注