k8s相关部署踩坑记录

前言

这是在需求:要求部署一套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无法删除问题

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章