k8s pod 更换命名空间步骤
在实际生产中,有些 pod 由于需要更换命名空间(namespace),如果没有原始的 yaml 文件,就需要将现有的 pod 信息导出,修改后,重新 apply1.新建文件夹root@master1:~# mkdir bi-parking-lotroot@master1:~# mkdir mall-bi-systemroot@master1:~# mkdir scpg-ta-service2.导
·
在实际生产中,有些 pod 由于需要更换命名空间(namespace),如果没有原始的 yaml 文件,就需要将现有的 pod 信息导出,修改后,重新 apply
1 新建文件夹
root@master1:~# mkdir bi-parking-lot
root@master1:~# mkdir mall-bi-system
root@master1:~# mkdir scpg-ta-service
2 导出 ingress
kubectl get -n project-keycloak ingress tenantadvisor-production -o yaml > tenantadvisor-production.yaml
3 导出 svc
root@master1:~# kubectl get svc -n project-keycloak
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
bi-parking-lot ClusterIP 10.233.17.58 <none> 8080/TCP 4d17h
keycloak ClusterIP 10.233.18.229 <none> 8080/TCP 5d16h
mall-bi-system ClusterIP 10.233.16.114 <none> 8080/TCP 4d15h
scpg-ta-service ClusterIP 10.233.38.140 <none> 8080/TCP 4d17h
root@master1:~# kubectl get svc bi-parking-lot -n project-keycloak -o yaml > bi-parking-lot/bi-parking-lot-svc.yaml
root@master1:~# kubectl get svc mall-bi-system -n project-keycloak -o yaml > mall-bi-system/mall-bi-system-svc.yaml
root@master1:~# kubectl get svc scpg-ta-service -n project-keycloak -o yaml > scpg-ta-service/scpg-ta-service-svc.yaml
root@master1:~#
4 导出 deploy
root@master1:~# kubectl get deploy -n project-keycloak
NAME READY UP-TO-DATE AVAILABLE AGE
bi-parking-lot 1/1 1 1 4d17h
keycloak 1/1 1 1 5d16h
mall-bi-system 1/1 1 1 4d15h
scpg-ta-service 1/1 1 1 4d16h
root@master1:~# kubectl get deploy bi-parking-lot -n project-keycloak -o yaml > bi-parking-lot/bi-parking-lot-deploy.yaml
root@master1:~# kubectl get deploy mall-bi-system -n project-keycloak -o yaml > mall-bi-system/mall-bi-system-deploy.yaml
root@master1:~# kubectl get deploy scpg-ta-service -n project-keycloak -o yaml > scpg-ta-service/scpg-ta-service-deploy.yaml
root@master1:~#
5 导出 config
root@master1:~# kubectl get cm -n project-keycloak
NAME DATA AGE
mall-bi-system 1 4d15h
new-bi-parking-lot 1 4d17h
ta-config 1 4d15h
root@master1:~# kubectl get cm mall-bi-system -n project-keycloak -o yaml >mall-bi-system/mall-bi-system-cm.yaml
root@master1:~# kubectl get cm new-bi-parking-lot -n project-keycloak -o yaml > bi-parking-lot/new-bi-parking-lot-cm.yaml
root@master1:~# kubectl get cm ta-config -n project-keycloak -o yaml > scpg-ta-service/ta-config.yaml
root@master1:~#
6 导出 secret
root@master1:~# kubectl get secret -n project-keycloak
NAME TYPE DATA AGE
admin-console-secret Opaque 1 5d11h
default-token-24v9k kubernetes.io/service-account-token 3 5d17h
harborsecretkey kubernetes.io/dockerconfigjson 1 4d17h
ylharborsecretkey kubernetes.io/dockerconfigjson 1 4d16h
root@master1:~# kubectl get secret ylharborsecretkey -n project-keycloak -o yaml > mall-bi-system/ylharborsecretkey.yaml
root@master1:~#
7 修改导出的 yaml 文件
每个 yaml 都需要删除一些不需要的东西,否则加入 rancher 会报错
比如
......
managedFields:
- apiVersion: apps/v1
fieldsType: FieldsV1
fieldsV1:
f:metadata:
f:annotations:
.: {}
f:field.cattle.io/creatorId: {}
f:labels:
.: {}
f:cattle.io/creator: {}
f:workload.user.cattle.io/workloadselector: {}
f:spec:
f:progressDeadlineSeconds: {}
f:replicas: {}
f:revisionHistoryLimit: {}
f:selector:
f:matchLabels:
.: {}
f:workload.user.cattle.io/workloadselector: {}
f:strategy:
f:rollingUpdate:
.: {}
f:maxSurge: {}
f:maxUnavailable: {}
f:type: {}
......
8 apply 新的 yaml文件
cd bi-parking-lot
kubectl apply -f .
cd mall-bi-system
kubectl apply -f .
cd scpg-ta-service
kubectl apply -f .
9 删除旧的 pod
可以后从往前删
- 删除 configmap
- 删除 deploy
- 删除 svc
- 删除 ingress
更多推荐
所有评论(0)