前言
这是在需求:要求部署一套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