1.pod介绍

<1> pod是可以创建和管理kubernetes计算的最小可部署单元,一个Pod代表着集群中运行的一个进程,每个pod都有一个唯一的ip。
<2> 一个Pod类似一个豌豆荚,包含一个或多个容器(通常是docker),多个容器间共享IPC,Network和UTC namespace。
在这里插入图片描述

2.pod的创建

pod分为俩类,一类是自主式pod,另一类是由控制器来控制的pod。

kubectl get pod  ##查看pod
kubectl get pod -o wide  ##查看Pod的详细信息
kubectl get pod -n kube-system
kubectl get pod --all -namespaces

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面我列出了一些pod常用的命令,详细的内容查看:https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands

接着我们来看一下自主式pod

kubectl run nginx --image=nginx  ##创建自主式pod

在这里插入图片描述
自主式pod被删除之后就彻底删除了。

接着我们来看一下deployment控制器式pod

kubectl create deployment myapp --image=nginx ##创建Pod

在这里插入图片描述
删除deployment控制器式的pod时,当一个Pod被删除了,replicas会自动拉起一个副本,创建一个新的pod。replicas控制器会一直维护着pod的运行,当pod出现故障时,他会自动出击。
想要彻底删除pod,需要将控制器删除。

kubectl delete deployment.apps myapp  ##删除myapp控制器

在这里插入图片描述

3. pod的扩容与缩容:

kubectl create deployment myapp --image=nginx ##先创建一个pod
kubectl scale deployment myapp --replicas=2  ##将pod拉伸为2个
kubectl get pod  ##查看一下pod
kubectl scale deployment myapp --replicas=10  ##将pod拉伸为10个

在这里插入图片描述
注:上面的kubectl 命令我们都是在普通用户kubeadm下运行的,在生产环境中我们用普通用户比较的安全。
如果想要在root用户下执行kubectl ,则:

mkdir .kube   ##root用户在主目录下创建一个.kube目录
cp -i /etc/kubernetes/admin.conf  $HOME/.kube/config  ##将admin.conf文件复制到.kube目录下并改名字为config

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.service

pod集群内部任意节点可以访问Pod,但集群外部无法直接访问。
service是一个抽象概念,定义了一个服务的多个pod逻辑合集和访问pod的策略,一般把service称为微服务。service用来暴露pod的访问接口,使外部用户可以访问pod,并且他还可以实现负载均衡。

创建service:

kubectl expose deployment myapp --port=80 --target-port=80 

在这里插入图片描述
在这里插入图片描述
此时pod客户端可以通过service的名称访问后端的俩个pod。ClusterIP:默认类型,自动分配一个仅集群内部可以访问的虚拟IP。
测试访问一下:
因为他是ClusterIP类型,只能集群内部去访问,所以我们得进入到集群里面去。

我们在harbor对应主机创建一个阿里云镜像加速器

cd /etc/docker  ##进入到docker目录
vim daemon.js0n  ##编辑文件
systemctl restart docker  ##重启docker服务

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
更新pod镜像
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
回滚

kubectl rollout history deployment myapp  ##查看历史版本
kubectl rollout undo deployment nginx --to-revision=1   ##回滚版本

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐