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