专业编程基础技术教程

网站首页 > 基础教程 正文

kubernetes基础知识之隔离pod和扩容pv

ccvgpt 2024-12-26 12:08:28 基础教程 12 ℃

kubernetes可以隔离pod,具体命令是: kubectl label pod -n $namespace_name $pod_name App=xxx_isolation --overwrite

然后可以使用delete命令删除pod:

kubernetes基础知识之隔离pod和扩容pv

kubectl delete pod $pod_name --force --grace-period=0 -n $namespace_name

----

K8s常见的pod状态:

Pending:Pod已经被创建,但是pod内还是至少有一个容器没有被创建,包括正在下载镜像的过程。

Running:pod内所有的容器都已经被创建,并且至少有一个容器处于运行或者重启状态。

Succeeded:pod内所有的容器都已经成功退出,并且不会重启。

Failed:pod内所有的容器都已经退出,但是至少有一个容器退出状态为失败。

Unknown:由于某种原因无法获得pod状态,可能由于网络通信不畅导致。

ImagePullBackOff:镜像拉取失败,可能由于集群和镜像仓库之间网络通信不畅。

Terminating:pod在被强制删除之后的状态。

CrashLoopBackOff:pod被反复重启。

ContainerCreating:容器在被创建。

---

kubernetes手动扩容本地持久卷pv:

①:找到pod容器名字:

kunectl get pod -A | grep $pod_name

②:找到本地持久卷pvc的名字:

kubectl get pod $pod_name -n $namespace_name -o yaml | grep persistentVolumeClaim -A1

一般claimName冒号后面的就是pvc名字。

kubectl desc pvc $pvc_name

可以查看到StorageClass存储类型。

kubectl get sc

kubectl describe sc $sc_name

可以查看到存储类型是local本地卷。

③:查看pvc绑定的pv:

kunectl get pvc -n $namespace_name | grep $pvc_name

可以查看到pvc绑定状态的pv。

④:查看pv绑定的IP:

kubectl get pv $pv_name -n $namespace_name -o yaml | grep values -A1

查看到IP地址。

⑤:登录到存储服务器,确认是否有足够的存储空间:

df -Th

⑥:进入存储目录,查看pv的大小:

cd $storage_path/infra.$namespace_name.io/pv

ls -al | grep $pv_name,并且查看当前pv的大小。

⑦:使用fallocate命令扩容pv的文件:

fallocate -o 当前文件大小(字节数)-l 要增加的大小(字节数)$pv_name

⑧:查看镜像文件挂载的loop设备:

losetup | grep $pv_name

⑨:查看扩容后的pv是否正常:

losetup

⑩:通知loop设备重新加载pv的文件大小:

losetup -c /dev/loopX

losetup | grep $pv_name

这里-c参数是--set-capacity <loopdev> resize Device 设置loop设备的容量的意思。

最后,对文件系统进行扩容:

xfs_growfs -d /dev/loopX

这里的-d参数是grow data/metadata section的意思。

df -Th| grep loopX或者ll $storage_path/infra.$namespace_name.io/pv

鼓励的话语:作为一个打工的人,要扑下身子踏踏实实干工作,所作所为都要靠得住!

Tags:

最近发表
标签列表