Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
H
holmes
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
QA
holmes
Commits
dc23d4df
Commit
dc23d4df
authored
Sep 06, 2021
by
黎博
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增/k8s/service/modify接口
parent
41d9f868
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
73 additions
and
7 deletions
+73
-7
K8sController.java
src/main/java/cn/qg/holmes/controller/k8s/K8sController.java
+53
-7
K8sService.java
src/main/java/cn/qg/holmes/service/k8s/K8sService.java
+20
-0
No files found.
src/main/java/cn/qg/holmes/controller/k8s/K8sController.java
View file @
dc23d4df
...
@@ -196,16 +196,62 @@ public class K8sController {
...
@@ -196,16 +196,62 @@ public class K8sController {
}
}
/**
/**
* 废弃
* jenkins打包部署镜像接口
* 修改pod
* @param serviceCreateVo
* @param namespace 环境
* @param serviceName 服务名
* @param image 镜像名
* @return
* @return
*/
*/
@PostMapping
(
"/service/modify"
)
@PostMapping
(
"/service/modify"
)
public
JsonResult
modifyPod
(
String
namespace
,
String
serviceName
,
String
image
)
{
public
JsonResult
modifyPod
(
@RequestBody
ServiceCreateVo
serviceCreateVo
)
{
return
JsonResult
.
buildSuccessResult
(
k8sService
.
updateDeployment
(
namespace
,
serviceName
,
image
));
String
serviceName
=
serviceCreateVo
.
getServiceName
();
String
type
=
serviceCreateVo
.
getType
();
String
label
=
serviceCreateVo
.
getLabel
();
String
namespace
=
serviceCreateVo
.
getNamespace
();
QueryWrapper
<
DockerProject
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"project_name"
,
serviceName
);
if
(
label
.
equals
(
"java"
))
{
// JAVA
DockerProject
dockerProject
=
dockerProjectService
.
getOne
(
queryWrapper
);
// 创建Service
if
(
k8sService
.
queryIfServiceExistByName
(
namespace
,
serviceName
))
{
k8sService
.
deleteService
(
namespace
,
serviceName
);
}
k8sService
.
createJavaService
(
namespace
,
serviceName
,
serviceCreateVo
.
getDebug
());
// 创建Deployment
if
(
k8sService
.
queryIfDeploymentExistByName
(
namespace
,
serviceName
))
{
k8sService
.
deleteDeployment
(
namespace
,
serviceName
);
}
k8sService
.
createJavaDeployment
(
serviceCreateVo
,
dockerProject
);
// 创建Ingress
if
(
k8sService
.
queryIfIngressExistByName
(
namespace
,
serviceName
))
{
k8sService
.
deleteIngress
(
namespace
,
serviceName
);
}
k8sService
.
createIngress
(
namespace
,
serviceName
,
serviceCreateVo
.
getDomain
());
}
else
if
(
label
.
equals
(
"ui"
)
||
label
.
equals
(
"node"
))
{
// UI
DockerProject
dockerProject
=
dockerProjectService
.
getOne
(
queryWrapper
);
// 创建Service
if
(
k8sService
.
queryIfServiceExistByName
(
namespace
,
serviceName
))
{
k8sService
.
deleteService
(
namespace
,
serviceName
);
}
k8sService
.
createUIAndNodeService
(
namespace
,
serviceName
,
type
,
label
);
// 创建Deployment
if
(
k8sService
.
queryIfDeploymentExistByName
(
namespace
,
serviceName
))
{
k8sService
.
deleteDeployment
(
namespace
,
serviceName
);
}
k8sService
.
createUIAndNodeDeployment
(
serviceCreateVo
,
dockerProject
);
// 创建Ingress
if
(
k8sService
.
queryIfIngressExistByName
(
namespace
,
serviceName
))
{
k8sService
.
deleteIngress
(
namespace
,
serviceName
);
}
k8sService
.
createIngress
(
namespace
,
serviceName
,
serviceCreateVo
.
getDomain
());
}
else
{
return
JsonResult
.
buildErrorStateResult
(
"暂不支持!"
,
false
);
}
return
JsonResult
.
buildSuccessResult
(
"镜像部署成功"
);
}
}
/**
/**
...
...
src/main/java/cn/qg/holmes/service/k8s/K8sService.java
View file @
dc23d4df
...
@@ -2197,6 +2197,26 @@ public class K8sService {
...
@@ -2197,6 +2197,26 @@ public class K8sService {
return
kubernetesClient
.
namespaces
().
create
(
namespace
);
return
kubernetesClient
.
namespaces
().
create
(
namespace
);
}
}
/**
* 删除ingress
* @param namespace 环境
* @param serviceName 服务名
* @return
*/
public
boolean
deleteIngress
(
String
namespace
,
String
serviceName
)
{
return
kubernetesClient
.
extensions
().
ingresses
().
inNamespace
(
namespace
).
withName
(
serviceName
).
delete
();
}
/**
* 删除Service
* @param namespace 环境
* @param serviceName 服务名
* @return
*/
public
boolean
deleteService
(
String
namespace
,
String
serviceName
)
{
return
kubernetesClient
.
services
().
inNamespace
(
namespace
).
withName
(
serviceName
).
delete
();
}
public
void
podTest
()
{
public
void
podTest
()
{
Map
<
String
,
String
>
labels
=
new
HashMap
<>();
Map
<
String
,
String
>
labels
=
new
HashMap
<>();
labels
.
put
(
"qcloud-app"
,
"mysql"
);
labels
.
put
(
"qcloud-app"
,
"mysql"
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment