k8s相关部署踩坑记录

本文详细记录了在已有开发与生产环境的基础上,如何构建K8s测试环境的过程,包括复制dev配置文件、调整命名空间以及解决pvc删除难题等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

这是在需求:要求部署一套test测试环境的情况下,衍生的相关问题,主要是用于记录踩坑及解决过程

0x01、需求内容

在目前的环境中,只有开发环境、生成环境,但是没有测试环境,所以请IT部门部署一套 测试环境,专用于测试的环境,包括数据库也是。

于是有了下面的解决方案

0x02、解决方案
  • 将dev配置的文件复制一份,然后各个修改其中的命名空间,由原来的 xxxx-dev 改为 xxxx-test

此外,需要注意的是:

  • 部署的时候,先部署基础的服务,如 gateway、oauth、ingress、pvc(相关服务)

  • 如果想删除重新部署 pvc(pvc/pv) 相关服务的时候,记得需要重新停止掉原来的、有挂载上的pod服务,如:挂载了后台系统,那么久得先 delete -f 停止掉后台pod,然后直到没有pod 在占用的时候,才能删除 pvc/pv 的

可以使用命令查看pvc服务相关描述:kubectl describe pvc PVCName -n NAMESPACES

root@k8s-master:/usr/local/projects/douyinSpider/bin/k8s/test# kubectl describe pvc dySpider-pvc-nfs -n douyin
Name:          dySpider-pvc-nfs
Namespace:     douyin
StorageClass:  nfs
Status:        Bound
Volume:        dySpider-pv-nfs
Labels:        app=dySpider-pvc-nfs
Annotations:   kubectl.kubernetes.io/last-applied-configuration:
                 {"apiVersion":"v1","kind":"PersistentVolumeClaim","metadata":{"annotations":{},"labels":{"app":"dySpider-pvc-nfs"},"name":"dySpider-pvc-nfs","name...
               pv.kubernetes.io/bind-completed: yes
               pv.kubernetes.io/bound-by-controller: yes
Finalizers:    [kubernetes.io/pvc-protection]
Capacity:      100Gi
Access Modes:  RWX
VolumeMode:    Filesystem
Mounted By:    dySpider-module-admin-b8bbcd7df-ftv49
Events:        <none>

从上面的信息看,可以看出已经挂载了一个服务:

Mounted By:    dySpider-module-admin-b8bbcd7df-ftv49

所以我们需要将这个pod停掉

删除后台服务:

root@k8s-master:/usr/local/projects/douyinSpider/bin/k8s/test# kubectl delete -f dySpider-module-admin.yaml
deployment.apps "dySpider-module-admin" deleted
service "dySpider-module-admin" deleted

再删除相关的 pvc:

kubectl delete -f dySpider-pv-nfs.yaml

参考资料:

k8s持久存储相关资料

【K8S】k8s pv,pvc无法删除问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值