Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
水淹萌龙
kubesphere
提交
ce3b5a02
K
kubesphere
项目概览
水淹萌龙
/
kubesphere
与 Fork 源项目一致
Fork自
KubeSphere / kubesphere
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kubesphere
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
ce3b5a02
编写于
3月 25, 2021
作者:
Y
yuswift
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix 502 error when joining the same cluster with a different name
Signed-off-by:
N
yuswift
<
yuswiftli@yunify.com
>
上级
6fbaedfa
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
35 addition
and
3 deletion
+35
-3
pkg/controller/cluster/cluster_controller.go
pkg/controller/cluster/cluster_controller.go
+35
-3
未找到文件。
pkg/controller/cluster/cluster_controller.go
浏览文件 @
ce3b5a02
...
...
@@ -350,6 +350,11 @@ func (c *clusterController) probeClusters() error {
}
for
_
,
cluster
:=
range
clusters
{
// if the cluster is not federated, we skip it and consider it not ready.
if
!
isConditionTrue
(
cluster
,
clusterv1alpha1
.
ClusterFederated
)
{
continue
}
if
len
(
cluster
.
Spec
.
Connection
.
KubeConfig
)
==
0
{
continue
}
...
...
@@ -483,11 +488,12 @@ func (c *clusterController) syncCluster(key string) error {
// currently we didn't set cluster.Spec.Enable when creating cluster at client side, so only check
// if we enable cluster.Spec.JoinFederation now
if
cluster
.
Spec
.
JoinFederation
==
false
{
klog
.
V
(
5
)
.
Infof
(
"Skipping to join cluster %s cause it is not expected to join"
,
cluster
.
Name
)
return
nil
}
// cluster not ready, nothing to do
if
!
isConditionTrue
(
cluster
,
clusterv1alpha1
.
ClusterReady
)
{
if
len
(
cluster
.
Spec
.
Connection
.
KubeConfig
)
==
0
{
klog
.
V
(
5
)
.
Infof
(
"Skipping to join cluster %s cause the kubeconfig is empty"
,
cluster
.
Name
)
return
nil
}
...
...
@@ -515,6 +521,22 @@ func (c *clusterController) syncCluster(key string) error {
_
,
err
=
c
.
joinFederation
(
clusterDt
.
config
,
cluster
.
Name
,
cluster
.
Labels
)
if
err
!=
nil
{
klog
.
Errorf
(
"Failed to join federation for cluster %s, error %v"
,
cluster
.
Name
,
err
)
federationNotReadyCondition
:=
clusterv1alpha1
.
ClusterCondition
{
Type
:
clusterv1alpha1
.
ClusterFederated
,
Status
:
v1
.
ConditionFalse
,
LastUpdateTime
:
metav1
.
Now
(),
LastTransitionTime
:
metav1
.
Now
(),
Reason
:
err
.
Error
(),
Message
:
"Cluster can not join federation control plane"
,
}
c
.
updateClusterCondition
(
cluster
,
federationNotReadyCondition
)
_
,
err
=
c
.
clusterClient
.
Update
(
context
.
TODO
(),
cluster
,
metav1
.
UpdateOptions
{})
if
err
!=
nil
{
klog
.
Errorf
(
"Failed to update cluster status, %#v"
,
err
)
}
return
err
}
...
...
@@ -560,7 +582,7 @@ func (c *clusterController) syncCluster(key string) error {
cluster
.
Status
.
Configz
=
configz
}
// label cluster host cluster if configz["multicluster"]==true
, this is
// label cluster host cluster if configz["multicluster"]==true
if
mc
,
ok
:=
configz
[
configzMultiCluster
];
ok
&&
mc
&&
c
.
checkIfClusterIsHostCluster
(
nodes
)
{
if
cluster
.
Labels
==
nil
{
cluster
.
Labels
=
make
(
map
[
string
]
string
)
...
...
@@ -568,6 +590,16 @@ func (c *clusterController) syncCluster(key string) error {
cluster
.
Labels
[
clusterv1alpha1
.
HostCluster
]
=
""
}
readyConditon
:=
clusterv1alpha1
.
ClusterCondition
{
Type
:
clusterv1alpha1
.
ClusterReady
,
Status
:
v1
.
ConditionTrue
,
LastUpdateTime
:
metav1
.
Now
(),
LastTransitionTime
:
metav1
.
Now
(),
Reason
:
string
(
clusterv1alpha1
.
ClusterReady
),
Message
:
"Cluster is available now"
,
}
c
.
updateClusterCondition
(
cluster
,
readyConditon
)
if
!
reflect
.
DeepEqual
(
oldCluster
,
cluster
)
{
_
,
err
=
c
.
clusterClient
.
Update
(
context
.
TODO
(),
cluster
,
metav1
.
UpdateOptions
{})
if
err
!=
nil
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录