Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
tke-eos
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
tke-eos
Commits
26690e8b
Commit
26690e8b
authored
Apr 03, 2019
by
智勇
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'kewei.jia' into 'master'
Kewei.jia See merge request !10
parents
0c4bce7c
3514ecb3
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
20 additions
and
31 deletions
+20
-31
service.js
app/service.js
+2
-2
ingress.js
kubeService/ingress.js
+10
-11
mysql.template.txt
serviceTemplate/mysql.template.txt
+1
-2
rabbitmq.template.txt
serviceTemplate/rabbitmq.template.txt
+1
-3
redis.template.txt
serviceTemplate/redis.template.txt
+1
-6
zookeeper.template.txt
serviceTemplate/zookeeper.template.txt
+1
-3
tke.clusterService.js
services/tke.clusterService.js
+4
-4
No files found.
app/service.js
View file @
26690e8b
...
@@ -37,8 +37,8 @@ router.post('/create', async (ctx) => {
...
@@ -37,8 +37,8 @@ router.post('/create', async (ctx) => {
})
})
const
params
=
yaml
.
load
(
template
)
const
params
=
yaml
.
load
(
template
)
await
ctx
.
cluster
.
service_create
(
params
,
label
)
await
ctx
.
cluster
.
service_create
(
params
,
label
)
if
(
domain
)
{
if
(
label
!==
'
base
'
)
{
await
ingressCreate
(
{
namespace
,
serviceName
,
domain
}
)
await
ingressCreate
(
namespace
,
serviceName
,
domain
)
}
}
ctx
.
body
=
ctx
.
ok
(
'
创建成功
'
)
ctx
.
body
=
ctx
.
ok
(
'
创建成功
'
)
})
})
...
...
kubeService/ingress.js
View file @
26690e8b
...
@@ -2,17 +2,19 @@ const path = require('path')
...
@@ -2,17 +2,19 @@ const path = require('path')
const
Client
=
require
(
'
kubernetes-client
'
).
Client
const
Client
=
require
(
'
kubernetes-client
'
).
Client
const
config
=
require
(
'
kubernetes-client
'
).
config
const
config
=
require
(
'
kubernetes-client
'
).
config
// const client = new Client({ config: config.fromKubeconfig(), version: '1.9' })
const
client
=
new
Client
({
const
client
=
new
Client
({
config
:
config
.
fromKubeconfig
(
config
:
config
.
fromKubeconfig
(
path
.
resolve
(
__dirname
,
'
./kubeConfig.yaml
'
),
path
.
resolve
(
__dirname
,
'
./kubeConfig.yaml
'
),
),
),
version
:
'
1.10
'
,
version
:
'
1.10
'
,
})
})
const
getManifest
=
(
{
namespace
,
serviceName
,
domain
}
)
=>
({
const
getManifest
=
(
namespace
,
servicename
,
doamin
)
=>
({
apiVersion
:
'
extensions/v1beta1
'
,
apiVersion
:
'
extensions/v1beta1
'
,
kind
:
'
Ingress
'
,
kind
:
'
Ingress
'
,
metadata
:
{
metadata
:
{
name
:
service
N
ame
,
name
:
service
n
ame
,
namespace
,
namespace
,
annotations
:
{
annotations
:
{
'
kubernetes.io/ingress.class
'
:
'
traefik
'
,
'
kubernetes.io/ingress.class
'
:
'
traefik
'
,
...
@@ -21,13 +23,13 @@ const getManifest = ({ namespace, serviceName, domain }) => ({
...
@@ -21,13 +23,13 @@ const getManifest = ({ namespace, serviceName, domain }) => ({
spec
:
{
spec
:
{
rules
:
[
rules
:
[
{
{
host
:
`
${
do
ma
in
}
-
${
namespace
}
.liangkebang.net`
,
host
:
`
${
do
am
in
}
-
${
namespace
}
.liangkebang.net`
,
http
:
{
http
:
{
paths
:
[
paths
:
[
{
{
path
:
'
/
'
,
path
:
'
/
'
,
backend
:
{
backend
:
{
serviceName
:
`
${
service
N
ame
}
`
,
serviceName
:
`
${
service
n
ame
}
`
,
servicePort
:
80
,
servicePort
:
80
,
},
},
},
},
...
@@ -39,20 +41,17 @@ const getManifest = ({ namespace, serviceName, domain }) => ({
...
@@ -39,20 +41,17 @@ const getManifest = ({ namespace, serviceName, domain }) => ({
})
})
const
ingressGet
=
async
(
namespace
,
servicename
)
=>
client
.
apis
.
extensions
.
v1beta1
.
namespaces
(
namespace
)
const
ingressGet
=
async
(
namespace
,
servicename
)
=>
client
.
apis
.
extensions
.
v1beta1
.
namespaces
(
namespace
)
.
ingresses
(
servicename
).
get
()
.
ingresses
(
servicename
).
get
()
const
ingressCreate
=
async
(
namespace
,
servicename
,
doamin
)
=>
{
const
ingressCreate
=
async
(
options
)
=>
{
const
Manifest
=
getManifest
(
namespace
,
servicename
,
doamin
)
const
m
=
getManifest
(
options
)
await
client
.
apis
.
extensions
.
v1beta1
.
namespace
(
namespace
).
ingresses
await
client
.
apis
.
extensions
.
v1beta1
.
namespace
(
options
.
namespace
).
ingresses
.
post
({
body
:
Manifest
})
.
post
({
body
:
m
})
}
}
const
ingressUpdate
=
async
(
namespace
,
servicename
,
host
)
=>
{
const
ingressUpdate
=
async
(
namespace
,
servicename
,
host
)
=>
{
const
Manifest
=
getManifest
(
namespace
,
servicename
)
const
Manifest
=
getManifest
(
namespace
,
servicename
)
Manifest
.
spec
.
rules
[
0
].
host
=
host
Manifest
.
spec
.
rules
[
0
].
host
=
host
await
client
.
apis
.
extensions
.
v1beta1
.
namespace
(
namespace
).
ingresses
(
servicename
)
await
client
.
apis
.
extensions
.
v1beta1
.
namespace
(
namespace
).
ingresses
(
servicename
)
.
patch
({
body
:
Manifest
})
.
patch
({
body
:
Manifest
})
}
}
const
ingressDelete
=
async
(
namespace
,
servicename
)
=>
{
const
ingressDelete
=
async
(
namespace
,
servicename
)
=>
{
await
client
.
apis
.
extensions
.
v1beta1
.
namespaces
(
namespace
).
ingresses
(
servicename
).
delete
()
await
client
.
apis
.
extensions
.
v1beta1
.
namespaces
(
namespace
).
ingresses
(
servicename
).
delete
()
}
}
...
...
serviceTemplate/mysql.template.txt
View file @
26690e8b
serviceName: mysql
serviceName: mysql
namespace: {{namespace}}
namespace: {{namespace}}
replicas: 1
replicas: 1
accessType:
LoadBalancer
accessType:
NodePort
portMappings.0.protocol: TCP
portMappings.0.protocol: TCP
portMappings.0.lbPort: 3306
portMappings.0.containerPort: 3306
portMappings.0.containerPort: 3306
containers.0.containerName: mysql
containers.0.containerName: mysql
...
...
serviceTemplate/rabbitmq.template.txt
View file @
26690e8b
serviceName: rabbitmq
serviceName: rabbitmq
namespace: {{namespace}}
namespace: {{namespace}}
replicas: 1
replicas: 1
accessType:
ClusterIP
accessType:
NodePort
portMappings.0.protocol: TCP
portMappings.0.protocol: TCP
portMappings.0.lbPort: 5672
portMappings.0.containerPort: 5672
portMappings.0.containerPort: 5672
portMappings.1.protocol: TCP
portMappings.1.protocol: TCP
portMappings.1.lbPort: 15672
portMappings.1.containerPort: 15672
portMappings.1.containerPort: 15672
containers.0.containerName: rabbitmq
containers.0.containerName: rabbitmq
...
...
serviceTemplate/redis.template.txt
View file @
26690e8b
serviceName: redis
serviceName: redis
namespace: {{namespace}}
namespace: {{namespace}}
replicas: 1
replicas: 1
accessType:
ClusterIP
accessType:
NodePort
portMappings.0.protocol: TCP
portMappings.0.protocol: TCP
portMappings.0.lbPort: 6379
portMappings.0.containerPort: 6379
portMappings.0.containerPort: 6379
portMappings.1.protocol: TCP
portMappings.1.protocol: TCP
portMappings.1.lbPort: 6380
portMappings.1.containerPort: 6380
portMappings.1.containerPort: 6380
portMappings.2.protocol: TCP
portMappings.2.protocol: TCP
portMappings.2.lbPort: 6381
portMappings.2.containerPort: 6381
portMappings.2.containerPort: 6381
portMappings.3.protocol: TCP
portMappings.3.protocol: TCP
portMappings.3.lbPort: 6382
portMappings.3.containerPort: 6382
portMappings.3.containerPort: 6382
portMappings.4.protocol: TCP
portMappings.4.protocol: TCP
portMappings.4.lbPort: 6383
portMappings.4.containerPort: 6383
portMappings.4.containerPort: 6383
containers.0.containerName: redis
containers.0.containerName: redis
...
...
serviceTemplate/zookeeper.template.txt
View file @
26690e8b
serviceName: zookeeper
serviceName: zookeeper
namespace: {{namespace}}
namespace: {{namespace}}
replicas: 1
replicas: 1
accessType:
ClusterIP
accessType:
NodePort
portMappings.0.protocol: TCP
portMappings.0.protocol: TCP
portMappings.0.lbPort: 2181
portMappings.0.containerPort: 2181
portMappings.0.containerPort: 2181
portMappings.1.protocol: TCP
portMappings.1.protocol: TCP
portMappings.1.lbPort: 9090
portMappings.1.containerPort: 9090
portMappings.1.containerPort: 9090
containers.0.containerName: zookeeper
containers.0.containerName: zookeeper
...
...
services/tke.clusterService.js
View file @
26690e8b
...
@@ -29,8 +29,8 @@ class Cluster extends Client {
...
@@ -29,8 +29,8 @@ class Cluster extends Client {
return
this
.
post
(
'
DescribeClusterServiceInfo
'
,
{
serviceName
,
namespace
,
clusterId
:
this
.
clusterId
})
return
this
.
post
(
'
DescribeClusterServiceInfo
'
,
{
serviceName
,
namespace
,
clusterId
:
this
.
clusterId
})
}
}
async
service_create
(
params
,
typ
e
)
{
async
service_create
(
params
,
labl
e
)
{
logger
.
info
(
'
创建服务详细信息:
'
,
params
,
typ
e
)
logger
.
info
(
'
创建服务详细信息:
'
,
params
,
labl
e
)
params
.
clusterId
=
this
.
clusterId
params
.
clusterId
=
this
.
clusterId
const
str
=
JSON
.
stringify
(
params
)
const
str
=
JSON
.
stringify
(
params
)
await
this
.
post
(
'
CreateClusterService
'
,
params
)
await
this
.
post
(
'
CreateClusterService
'
,
params
)
...
@@ -42,9 +42,9 @@ class Cluster extends Client {
...
@@ -42,9 +42,9 @@ class Cluster extends Client {
clusterId
:
params
.
clusterId
,
clusterId
:
params
.
clusterId
,
serviceName
:
params
.
serviceName
,
serviceName
:
params
.
serviceName
,
namespace
:
params
.
namespace
,
namespace
:
params
.
namespace
,
'
labels.type
'
:
typ
e
,
'
labels.type
'
:
labl
e
,
}
}
logger
.
info
(
'
修改服务标签信息:
'
,
updateLabels
)
return
this
.
post
(
'
ModifyServiceLabels
'
,
updateLabels
)
return
this
.
post
(
'
ModifyServiceLabels
'
,
updateLabels
)
}
}
...
...
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