- 已编辑
创建部署问题时,请参考下面模板,你提供的信息越多,越容易及时获得解答。如果未按模板创建问题,管理员有权关闭问题。
确保帖子格式清晰易读,用 markdown code block 语法格式化代码块。
你只花一分钟创建的问题,不能指望别人花上半个小时给你解答。
操作系统环境信息
[root@k8s-master01 ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
[root@k8s-master01 ~]# kubectl get node
NAME STATUS ROLES AGE VERSION
k8s-master01 Ready,SchedulingDisabled <none> 51d v1.22.0
k8s-master02 Ready,SchedulingDisabled <none> 51d v1.22.0
k8s-master03 Ready,SchedulingDisabled <none> 51d v1.22.0
k8s-node01 Ready <none> 51d v1.22.0
k8s-node02 Ready <none> 51d v1.22.0
k8s-node03 Ready <none> 51d v1.22.0
k8s-node04 Ready <none> 12d v1.22.0
k8s-node05 Ready <none> 12d v1.22.0
[root@k8s-master01 ~]# kubectl get cluster
NAME FEDERATED PROVIDER ACTIVE VERSION
host true kubesphere true v1.22.0
test-host true v1.22.0
一、前言/问题描述
项目有两套k8s环境,即生产/测试;本人基于生产环境k8s最小化部署kubesphere. 并将此设置为host主集群,测试环境k8s设置为member; 就在上线前夕,项目客户打算增加node节点虚拟机资源,为此直接克隆现有两台node节点虚拟机作为新node节点,没曾想该操作直接导致kubesphere整个集群出现问题(集群节点无法识别,出现未就绪状态);捣鼓半天都无法修复该问题;重启操作系统均未能修复,情急之下从 Kubernetes 上卸载 了KubeSphere进行重装,重装了之后,暂时恢复了正常,随后将两个集群均加入到kubesphere,我以为都没问题,我就直接把生产NS加入到workspace,万万没想到NS就被自动删除了,因此导致我NS生产数据全部丢失,随后我创建一个测试的workspace和NS,把测试的NS加入到测试workspace同样会被自动删除,我瞬间懵逼了;内心是真的凉透了,看ks日志也没有任何错误信息,从7月23号截止到现在,这个问题都没得到解决;
二、故障/问题演示:
模式故障,创建NS 为testv1 ,然后将其加入到ws1 workspace中,操作截图如下
查看kubefed-controller-managerr日志信息
#kubectl -n kube-federation-system get pod
NAME READY STATUS RESTARTS AGE
kubefed-admission-webhook-6f9f5dcbbf-8krrp 1/1 Running 1 (13d ago) 13d
kubefed-controller-manager-78c4dbc5f8-bbqj6 1/1 Running 0 11d
kubefed-controller-manager-78c4dbc5f8-qvsrb 1/1 Running 0 11d
#kubectl -n kube-federation-system logs -f kubefed-controller-manager-78c4dbc5f8-qvsrb
模拟将NS加入到wokspace的同时,实时输出kubefed-controller-manager日志信息
上述日志和截图我们可以看到,testv1这个命名空间加入workspace的同时,NS已被自动删除,真的很吓人;
导出kubespace 中的workspacetemplate/workspace 的yaml信息
#kubectl get workspace ws1 -oyaml
apiVersion: tenant.kubesphere.io/v1alpha1
kind: Workspace
metadata:
creationTimestamp: "2023-08-05T01:33:31Z"
deletionGracePeriodSeconds: 0
deletionTimestamp: "2023-08-05T01:33:31Z"
finalizers:
- finalizers.tenant.kubesphere.io
generation: 3
labels:
kubefed.io/managed: "true"
name: ws1
resourceVersion: "107426819"
uid: 1246fae0-86b5-4cc5-8bdc-c815792a5253
spec:
manager: admin
status: {}
导出来的workspacetemplate yaml信息
[root@k8s-master01 ~]# kubectl get workspacetemplate ws1 -oyaml
apiVersion: tenant.kubesphere.io/v1alpha2
kind: WorkspaceTemplate
metadata:
annotations:
kubesphere.io/creator: admin
kubesphere.io/description: 测试
creationTimestamp: "2023-07-24T13:10:11Z"
finalizers:
- finalizers.workspacetemplate.kubesphere.io
generation: 1
labels:
kubefed.io/managed: "false"
name: ws1
resourceVersion: "20088641"
uid: 14a1b713-75a7-4a3a-8cc5-75c2b0b369f5
spec:
placement:
clusters:
- name: test-host
- name: host
template:
metadata: {}
spec:
manager: admin
另外我查看kubectl get workspace发现自己的企业空间状态不稳定,时而消失,基本是秒级消失;我怀疑是该问题和这个也有关系
写到最后
最后本人目前能排查的问题现象只有这些了,虽然7月23号已经上线了,但问题截止目前仍然存在没有得到,现在也不敢在把ns加入到workspace了,本人身边人懂kubespace技术的人很少,本人对咱们的ks产品非常感兴趣,对问题势必会一探到底。宁愿知识付费也要弄清楚里面的原由并解决,还希望各位圈内大佬能指点一下