删除k8s-agent的NAT相关代码
This commit is contained in:
@@ -16,7 +16,6 @@ import (
|
||||
"code.gitea.io/gitea/modules/log"
|
||||
"code.gitea.io/gitea/modules/setting"
|
||||
"code.gitea.io/gitea/services/devcontainer/errors"
|
||||
"code.gitea.io/gitea/services/devstar_cloud_provider"
|
||||
networkingv1 "k8s.io/api/networking/v1"
|
||||
k8serrors "k8s.io/apimachinery/pkg/api/errors"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
@@ -152,20 +151,6 @@ func AssignDevcontainerDeletion2K8sOperator(ctx *context.Context, devcontainersL
|
||||
for _, devcontainer := range *devcontainersList {
|
||||
opts.Name = devcontainer.Name
|
||||
_ = devcontainer_k8s_agent_module.DeleteDevcontainer(ctx, client, opts)
|
||||
|
||||
// 删除SSH端口的NAT规则
|
||||
devcontainerNatRuleDescription := setting.DEVCONTAINER_CLOUD_NAT_RULE_DESCRIPTION_PREFIX + devcontainer.Name
|
||||
err := devstar_cloud_provider.DeleteNATRulePort(devcontainerNatRuleDescription)
|
||||
if err != nil {
|
||||
log.Warn("[Cloud NAT DELETION Error]: " + err.Error())
|
||||
}
|
||||
|
||||
// 删除ttyd端口的NAT规则
|
||||
ttydNatRuleDescription := setting.DEVCONTAINER_CLOUD_NAT_RULE_DESCRIPTION_PREFIX + devcontainer.Name + "-ttyd"
|
||||
err = devstar_cloud_provider.DeleteNATRulePort(ttydNatRuleDescription)
|
||||
if err != nil {
|
||||
log.Warn("[Cloud ttyd NAT DELETION Error]: " + err.Error())
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -312,9 +297,6 @@ func AssignDevcontainerCreation2K8sOperator(ctx *context.Context, newDevContaine
|
||||
log.Info("AssignDevcontainerCreation2K8sOperator: DevcontainerApp created successfully - Name: %s",
|
||||
devcontainerInCluster.Name)
|
||||
|
||||
// // 3. 将分配的 NodePort Service 写回 newDevcontainer,供写入数据库进行下一步操作
|
||||
// newDevContainer.DevcontainerPort = devcontainerInCluster.Status.NodePortAssigned
|
||||
|
||||
// 3. 处理 NodePort - 检查是否为0(尚未分配)
|
||||
nodePort := devcontainerInCluster.Status.NodePortAssigned
|
||||
|
||||
@@ -342,44 +324,6 @@ func AssignDevcontainerCreation2K8sOperator(ctx *context.Context, newDevContaine
|
||||
newDevContainer.DevcontainerPort = nodePort
|
||||
log.Info("DevContainer created in cluster - Name: %s, NodePort: %d",
|
||||
devcontainerInCluster.Name, nodePort)
|
||||
|
||||
// 创建NAT端口映射 - 使用统一的描述格式
|
||||
devcontainerNatRuleDescription := setting.DEVCONTAINER_CLOUD_NAT_RULE_DESCRIPTION_PREFIX + newDevContainer.Name
|
||||
privatePort := uint64(nodePort)
|
||||
publicPort := privatePort // 使用相同的端口号
|
||||
|
||||
log.Info("AssignDevcontainerCreation2K8sOperator: Creating NAT port mapping: private=%d, public=%d, desc=%s",
|
||||
privatePort, publicPort, devcontainerNatRuleDescription)
|
||||
|
||||
err = devstar_cloud_provider.CreateNATRulePort(privatePort, publicPort, devcontainerNatRuleDescription)
|
||||
if err != nil {
|
||||
log.Error("AssignDevcontainerCreation2K8sOperator: Failed to create NAT port mapping: %v", err)
|
||||
// 记录错误但不中断流程
|
||||
} else {
|
||||
log.Info("AssignDevcontainerCreation2K8sOperator: NAT port mapping created successfully")
|
||||
}
|
||||
|
||||
// 为ttyd端口创建NAT映射 - 查找extraPorts中的ttyd端口
|
||||
for _, portInfo := range devcontainerInCluster.Status.ExtraPortsAssigned {
|
||||
if portInfo.Name == "ttyd" || strings.Contains(portInfo.Name, "ttyd") ||
|
||||
portInfo.Name == "port-7681" || portInfo.ContainerPort == 7681 {
|
||||
// 找到ttyd端口,创建NAT映射
|
||||
ttydPrivatePort := uint64(portInfo.NodePort)
|
||||
ttydPublicPort := ttydPrivatePort
|
||||
ttydNatRuleDescription := setting.DEVCONTAINER_CLOUD_NAT_RULE_DESCRIPTION_PREFIX + newDevContainer.Name + "-ttyd"
|
||||
|
||||
log.Info("AssignDevcontainerCreation2K8sOperator: Creating NAT port mapping for ttyd: private=%d, public=%d, desc=%s",
|
||||
ttydPrivatePort, ttydPublicPort, ttydNatRuleDescription)
|
||||
|
||||
err = devstar_cloud_provider.CreateNATRulePort(ttydPrivatePort, ttydPublicPort, ttydNatRuleDescription)
|
||||
if err != nil {
|
||||
log.Error("AssignDevcontainerCreation2K8sOperator: Failed to create NAT port mapping for ttyd: %v", err)
|
||||
} else {
|
||||
log.Info("AssignDevcontainerCreation2K8sOperator: NAT port mapping for ttyd created successfully")
|
||||
}
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
log.Info("DevContainer created in cluster - Name: %s, NodePort: %d",
|
||||
@@ -547,45 +491,11 @@ func updateNodePortAsync(containerName string, namespace string, userId, repoId
|
||||
// 获取到正确的端口,更新数据库
|
||||
realNodePort := devcontainer.Status.NodePortAssigned
|
||||
|
||||
// 创建NAT端口映射 - 使用统一的描述格式
|
||||
devcontainerNatRuleDescription := setting.DEVCONTAINER_CLOUD_NAT_RULE_DESCRIPTION_PREFIX + containerName
|
||||
privatePort := uint64(realNodePort)
|
||||
publicPort := privatePort // 使用相同的端口号
|
||||
|
||||
log.Info("updateNodePortAsync: Creating NAT port mapping: private=%d, public=%d, desc=%s",
|
||||
privatePort, publicPort, devcontainerNatRuleDescription)
|
||||
|
||||
err = devstar_cloud_provider.CreateNATRulePort(privatePort, publicPort, devcontainerNatRuleDescription)
|
||||
if err != nil {
|
||||
log.Error("updateNodePortAsync: Failed to create NAT port mapping: %v", err)
|
||||
// 记录错误但继续更新数据库
|
||||
} else {
|
||||
log.Info("updateNodePortAsync: NAT port mapping created successfully")
|
||||
}
|
||||
|
||||
// 记录 ttyd 端口信息到日志并创建NAT映射
|
||||
// 记录 ttyd 端口信息到日志
|
||||
if len(devcontainer.Status.ExtraPortsAssigned) > 0 {
|
||||
for _, portInfo := range devcontainer.Status.ExtraPortsAssigned {
|
||||
log.Info("Found extra port for %s: name=%s, nodePort=%d, containerPort=%d",
|
||||
containerName, portInfo.Name, portInfo.NodePort, portInfo.ContainerPort)
|
||||
|
||||
// 为ttyd端口创建NAT映射
|
||||
if portInfo.Name == "ttyd" || strings.Contains(portInfo.Name, "ttyd") ||
|
||||
portInfo.Name == "port-7681" || portInfo.ContainerPort == 7681 {
|
||||
ttydPrivatePort := uint64(portInfo.NodePort)
|
||||
ttydPublicPort := ttydPrivatePort
|
||||
ttydNatRuleDescription := setting.DEVCONTAINER_CLOUD_NAT_RULE_DESCRIPTION_PREFIX + containerName + "-ttyd"
|
||||
|
||||
log.Info("updateNodePortAsync: Creating NAT port mapping for ttyd: private=%d, public=%d, desc=%s",
|
||||
ttydPrivatePort, ttydPublicPort, ttydNatRuleDescription)
|
||||
|
||||
err := devstar_cloud_provider.CreateNATRulePort(ttydPrivatePort, ttydPublicPort, ttydNatRuleDescription)
|
||||
if err != nil {
|
||||
log.Error("updateNodePortAsync: Failed to create NAT port mapping for ttyd: %v", err)
|
||||
} else {
|
||||
log.Info("updateNodePortAsync: NAT port mapping for ttyd created successfully")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user