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
9a68e2c1
Commit
9a68e2c1
authored
Sep 04, 2019
by
kewei.jia
Committed by
智勇
Sep 11, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
qke功能
parent
d60ce6db
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
189 additions
and
138 deletions
+189
-138
service.js
app/service.js
+5
-3
service.js
kubeService/service.js
+2
-1
index.js
middleware/client/index.js
+35
-28
getClient.js
resource/getClient.js
+41
-0
java.yaml
yamls/java.yaml
+4
-0
mysql.pvc.yaml
yamls/mysql.pvc.yaml
+2
-4
redis.yaml
yamls/redis.yaml
+100
-102
No files found.
app/service.js
View file @
9a68e2c1
...
@@ -20,6 +20,7 @@ const {
...
@@ -20,6 +20,7 @@ const {
replicaSetDelete
,
replicaSetDelete
,
pvcDelete
,
pvcDelete
,
}
=
require
(
'
../kubeService/service
'
)
}
=
require
(
'
../kubeService/service
'
)
const
newClient
=
require
(
'
./../resource/getClient
'
)
const
router
=
new
Router
()
const
router
=
new
Router
()
module
.
exports
=
router
module
.
exports
=
router
...
@@ -49,7 +50,7 @@ const createService = async (ctx) => {
...
@@ -49,7 +50,7 @@ const createService = async (ctx) => {
data
.
resources
=
resources
data
.
resources
=
resources
logger
.
info
(
'
创建服务
'
,
data
)
logger
.
info
(
'
创建服务
'
,
data
)
await
serviceCreate
(
ctx
.
client
,
data
)
await
serviceCreate
(
ctx
.
cl
uster
,
ctx
.
cl
ient
,
data
)
if
(
label
!==
'
base
'
)
{
if
(
label
!==
'
base
'
)
{
if
(
serviceName
===
'
xyqb-user2
'
)
{
if
(
serviceName
===
'
xyqb-user2
'
)
{
await
ingressCreate
(
ctx
.
client
,
namespace
,
'
xyqb-user2-2
'
,
'
passportapi2
'
)
await
ingressCreate
(
ctx
.
client
,
namespace
,
'
xyqb-user2-2
'
,
'
passportapi2
'
)
...
@@ -175,9 +176,10 @@ router.get('/listEnvVars', async (ctx) => {
...
@@ -175,9 +176,10 @@ router.get('/listEnvVars', async (ctx) => {
// for container
// for container
router
.
get
(
'
/listEnvVarsNew
'
,
async
(
ctx
)
=>
{
router
.
get
(
'
/listEnvVarsNew
'
,
async
(
ctx
)
=>
{
const
envVars
=
{}
const
envVars
=
{}
const
{
namespace
,
client
}
=
newClient
(
ctx
)
const
res
=
await
Promise
.
all
([
const
res
=
await
Promise
.
all
([
getPods
(
c
tx
.
client
,
ctx
.
request
.
query
.
namespace
),
getPods
(
c
lient
,
namespace
),
getServices
(
c
tx
.
client
,
ctx
.
request
.
query
.
namespace
),
getServices
(
c
lient
,
namespace
),
])
])
res
[
0
].
body
.
items
.
forEach
(
async
(
item
)
=>
{
res
[
0
].
body
.
items
.
forEach
(
async
(
item
)
=>
{
...
...
kubeService/service.js
View file @
9a68e2c1
...
@@ -73,7 +73,8 @@ const makeManifest = (data) => {
...
@@ -73,7 +73,8 @@ const makeManifest = (data) => {
return
manifestArray
return
manifestArray
}
}
const
serviceCreate
=
async
(
client
,
data
)
=>
{
const
serviceCreate
=
async
(
cluster
,
client
,
data
)
=>
{
data
.
cluster
=
cluster
const
{
namespace
,
serviceName
}
=
data
const
{
namespace
,
serviceName
}
=
data
const
manifestArray
=
makeManifest
(
data
)
const
manifestArray
=
makeManifest
(
data
)
...
...
middleware/client/index.js
View file @
9a68e2c1
...
@@ -5,34 +5,41 @@ const config = require('kubernetes-client').config
...
@@ -5,34 +5,41 @@ const config = require('kubernetes-client').config
module
.
exports
=
function
client
()
{
module
.
exports
=
function
client
()
{
const
client
=
{}
const
client
=
{}
return
async
function
(
ctx
,
next
)
{
return
async
function
(
ctx
,
next
)
{
const
cluster
=
ctx
.
request
.
headers
.
cluster
const
exclude
=
[
'
/service/listEnvVarsNew
'
]
let
yaml
=
''
if
(
exclude
.
includes
(
ctx
.
path
))
{
switch
(
cluster
)
{
await
next
()
case
'
qa
'
:
}
else
{
yaml
=
'
./../../kubeService/kubeConfig-qa.yaml
'
const
cluster
=
ctx
.
request
.
headers
.
cluster
break
let
yaml
=
''
case
'
dev-ops
'
:
switch
(
cluster
)
{
yaml
=
'
./../../kubeService/kubeConfig-dev-ops.yaml
'
case
'
qa
'
:
break
yaml
=
'
./../../kubeService/kubeConfig-qa.yaml
'
case
'
qke
'
:
break
yaml
=
'
./../../kubeService/kubeConfig-qke.yaml
'
case
'
dev-ops
'
:
break
yaml
=
'
./../../kubeService/kubeConfig-dev-ops.yaml
'
default
:
break
ctx
.
body
=
{
case
'
qke
'
:
code
:
'
0001
'
,
yaml
=
'
./../../kubeService/kubeConfig-qke.yaml
'
msg
:
'
请选择集群的名字
'
,
break
}
default
:
return
ctx
.
body
=
{
code
:
'
0001
'
,
msg
:
'
请选择集群的名字
'
,
}
return
}
if
(
!
client
[
cluster
])
{
client
[
cluster
]
=
new
Client
({
config
:
config
.
fromKubeconfig
(
path
.
resolve
(
__dirname
,
yaml
),
),
version
:
'
1.10
'
,
})
client
.
clusterName
=
cluster
}
ctx
.
client
=
client
[
cluster
]
ctx
.
cluster
=
client
.
clusterName
await
next
()
}
}
if
(
!
client
[
cluster
])
{
client
[
cluster
]
=
new
Client
({
config
:
config
.
fromKubeconfig
(
path
.
resolve
(
__dirname
,
yaml
),
),
version
:
'
1.10
'
,
})
}
ctx
.
client
=
client
[
cluster
]
await
next
()
}
}
}
}
resource/getClient.js
0 → 100644
View file @
9a68e2c1
const
path
=
require
(
'
path
'
)
const
Client
=
require
(
'
kubernetes-client
'
).
Client
const
config
=
require
(
'
kubernetes-client
'
).
config
const
newClient
=
function
client
(
ctx
)
{
const
parmars
=
ctx
.
request
.
query
.
namespace
||
''
if
(
parmars
.
search
(
'
@
'
)
===
-
1
)
{
ctx
.
body
=
{
code
:
'
0001
'
,
msg
:
'
参数传入不合法
'
,
}
return
false
}
const
namespace
=
parmars
.
split
(
'
@
'
)[
0
];
const
cluster
=
parmars
.
split
(
'
@
'
)[
1
]
let
yaml
=
''
switch
(
cluster
)
{
case
'
qa
'
:
yaml
=
'
./../kubeService/kubeConfig-qa.yaml
'
break
;
case
'
dev-ops
'
:
yaml
=
'
./../kubeService/kubeConfig-dev-ops.yaml
'
break
case
'
qke
'
:
yaml
=
'
./../kubeService/kubeConfig-qke.yaml
'
break
default
:
ctx
.
body
=
{
code
:
'
0001
'
,
msg
:
'
请选择集群的名字
'
,
}
}
const
client
=
new
Client
({
config
:
config
.
fromKubeconfig
(
path
.
resolve
(
__dirname
,
yaml
),
),
version
:
'
1.10
'
,
})
return
{
namespace
,
client
}
}
module
.
exports
=
newClient
yamls/java.yaml
View file @
9a68e2c1
...
@@ -52,6 +52,10 @@ spec:
...
@@ -52,6 +52,10 @@ spec:
env
:
env
:
-
name
:
NAMESPACE
-
name
:
NAMESPACE
value
:
{{
namespace
}}
value
:
{{
namespace
}}
-
name
:
NAMESPACECLUSTER
value
:
{{
namespace
}}
@
{{
cluster
}}
-
name
:
CLUSTER
value
:
{{
cluster
}}
-
name
:
SYSTEM_NAME
-
name
:
SYSTEM_NAME
value
:
{{
serviceName
}}
value
:
{{
serviceName
}}
-
name
:
DEBUG
-
name
:
DEBUG
...
...
yamls/mysql.pvc.yaml
View file @
9a68e2c1
...
@@ -21,12 +21,12 @@ metadata:
...
@@ -21,12 +21,12 @@ metadata:
name
:
{{
serviceName
}}
-{{namespace}}
name
:
{{
serviceName
}}
-{{namespace}}
namespace
:
{{
namespace
}}
namespace
:
{{
namespace
}}
spec
:
spec
:
storageClassName
:
cbs
-3
storageClassName
:
cbs
accessModes
:
accessModes
:
-
ReadWriteOnce
-
ReadWriteOnce
resources
:
resources
:
requests
:
requests
:
storage
:
20
Gi
storage
:
1
Gi
---
---
...
@@ -82,8 +82,6 @@ spec:
...
@@ -82,8 +82,6 @@ spec:
volumeMounts
:
volumeMounts
:
-
mountPath
:
"
/var/lib/mysql"
-
mountPath
:
"
/var/lib/mysql"
name
:
{{
serviceName
}}
name
:
{{
serviceName
}}
nodeSelector
:
zone
:
"
3"
volumes
:
volumes
:
-
name
:
{{
serviceName
}}
-
name
:
{{
serviceName
}}
persistentVolumeClaim
:
persistentVolumeClaim
:
...
...
yamls/redis.yaml
View file @
9a68e2c1
...
@@ -20,99 +20,97 @@ spec:
...
@@ -20,99 +20,97 @@ spec:
type
:
base
type
:
base
qcloud-app
:
{{
serviceName
}}
qcloud-app
:
{{
serviceName
}}
spec
:
spec
:
nodeSelector
:
zone
:
"
3"
containers
:
containers
:
-
image
:
ccr.ccs.tencentyun.com/{{image}}
-
image
:
ccr.ccs.tencentyun.com/{{image}}
imagePullPolicy
:
Always
imagePullPolicy
:
Always
name
:
{{
serviceName
}}
-6379
name
:
{{
serviceName
}}
-6379
command
:
[
"
redis-server"
,
"
--port"
,
"
6379"
]
command
:
[
"
redis-server"
,
"
--port"
,
"
6379"
]
resources
:
resources
:
requests
:
requests
:
cpu
:
{{
resources.cpu.request
}}
m
cpu
:
{{
resources.cpu.request
}}
m
memory
:
{{
resources.memory.request
}}
Mi
memory
:
{{
resources.memory.request
}}
Mi
limits
:
limits
:
cpu
:
{{
resources.cpu.limit
}}
m
cpu
:
{{
resources.cpu.limit
}}
m
memory
:
{{
resources.memory.limit
}}
Mi
memory
:
{{
resources.memory.limit
}}
Mi
readinessProbe
:
readinessProbe
:
exec
:
exec
:
command
:
[
"
redis-cli"
,
"
-p"
,
"
6379"
,
"
info"
]
command
:
[
"
redis-cli"
,
"
-p"
,
"
6379"
,
"
info"
]
initialDelaySeconds
:
5
initialDelaySeconds
:
5
periodSeconds
:
2
periodSeconds
:
2
timeoutSeconds
:
1
timeoutSeconds
:
1
failureThreshold
:
40
failureThreshold
:
40
-
image
:
ccr.ccs.tencentyun.com/{{image}}
-
image
:
ccr.ccs.tencentyun.com/{{image}}
imagePullPolicy
:
Always
imagePullPolicy
:
Always
name
:
{{
serviceName
}}
-6380
name
:
{{
serviceName
}}
-6380
command
:
[
"
redis-server"
,
"
--port"
,
"
6380"
]
command
:
[
"
redis-server"
,
"
--port"
,
"
6380"
]
resources
:
resources
:
requests
:
requests
:
cpu
:
{{
resources.cpu.request
}}
m
cpu
:
{{
resources.cpu.request
}}
m
memory
:
200Mi
memory
:
200Mi
limits
:
limits
:
cpu
:
{{
resources.cpu.limit
}}
m
cpu
:
{{
resources.cpu.limit
}}
m
memory
:
200Mi
memory
:
200Mi
readinessProbe
:
readinessProbe
:
exec
:
exec
:
command
:
[
"
redis-cli"
,
"
-p"
,
"
6380"
,
"
info"
]
command
:
[
"
redis-cli"
,
"
-p"
,
"
6380"
,
"
info"
]
initialDelaySeconds
:
5
initialDelaySeconds
:
5
periodSeconds
:
2
periodSeconds
:
2
timeoutSeconds
:
1
timeoutSeconds
:
1
failureThreshold
:
40
failureThreshold
:
40
-
image
:
ccr.ccs.tencentyun.com/{{image}}
-
image
:
ccr.ccs.tencentyun.com/{{image}}
imagePullPolicy
:
Always
imagePullPolicy
:
Always
name
:
{{
serviceName
}}
-6381
name
:
{{
serviceName
}}
-6381
command
:
[
"
redis-server"
,
"
--port"
,
"
6381"
]
command
:
[
"
redis-server"
,
"
--port"
,
"
6381"
]
resources
:
resources
:
requests
:
requests
:
cpu
:
{{
resources.cpu.request
}}
m
cpu
:
{{
resources.cpu.request
}}
m
memory
:
{{
resources.memory.request
}}
Mi
memory
:
{{
resources.memory.request
}}
Mi
limits
:
limits
:
cpu
:
{{
resources.cpu.limit
}}
m
cpu
:
{{
resources.cpu.limit
}}
m
memory
:
{{
resources.memory.limit
}}
Mi
memory
:
{{
resources.memory.limit
}}
Mi
readinessProbe
:
readinessProbe
:
exec
:
exec
:
command
:
[
"
redis-cli"
,
"
-p"
,
"
6381"
,
"
info"
]
command
:
[
"
redis-cli"
,
"
-p"
,
"
6381"
,
"
info"
]
initialDelaySeconds
:
5
initialDelaySeconds
:
5
periodSeconds
:
2
periodSeconds
:
2
timeoutSeconds
:
1
timeoutSeconds
:
1
failureThreshold
:
40
failureThreshold
:
40
-
image
:
ccr.ccs.tencentyun.com/{{image}}
-
image
:
ccr.ccs.tencentyun.com/{{image}}
imagePullPolicy
:
Always
imagePullPolicy
:
Always
name
:
{{
serviceName
}}
-6382
name
:
{{
serviceName
}}
-6382
command
:
[
"
redis-server"
,
"
--port"
,
"
6382"
]
command
:
[
"
redis-server"
,
"
--port"
,
"
6382"
]
resources
:
resources
:
requests
:
requests
:
cpu
:
{{
resources.cpu.request
}}
m
cpu
:
{{
resources.cpu.request
}}
m
memory
:
{{
resources.memory.request
}}
Mi
memory
:
{{
resources.memory.request
}}
Mi
limits
:
limits
:
cpu
:
{{
resources.cpu.limit
}}
m
cpu
:
{{
resources.cpu.limit
}}
m
memory
:
{{
resources.memory.limit
}}
Mi
memory
:
{{
resources.memory.limit
}}
Mi
readinessProbe
:
readinessProbe
:
exec
:
exec
:
command
:
[
"
redis-cli"
,
"
-p"
,
"
6382"
,
"
info"
]
command
:
[
"
redis-cli"
,
"
-p"
,
"
6382"
,
"
info"
]
initialDelaySeconds
:
5
initialDelaySeconds
:
5
periodSeconds
:
2
periodSeconds
:
2
timeoutSeconds
:
1
timeoutSeconds
:
1
failureThreshold
:
40
failureThreshold
:
40
-
image
:
ccr.ccs.tencentyun.com/{{image}}
-
image
:
ccr.ccs.tencentyun.com/{{image}}
imagePullPolicy
:
Always
imagePullPolicy
:
Always
name
:
{{
serviceName
}}
-6383
name
:
{{
serviceName
}}
-6383
command
:
[
"
redis-server"
,
"
--port"
,
"
6383"
]
command
:
[
"
redis-server"
,
"
--port"
,
"
6383"
]
resources
:
resources
:
requests
:
requests
:
cpu
:
{{
resources.cpu.request
}}
m
cpu
:
{{
resources.cpu.request
}}
m
memory
:
{{
resources.memory.request
}}
Mi
memory
:
{{
resources.memory.request
}}
Mi
limits
:
limits
:
cpu
:
{{
resources.cpu.limit
}}
m
cpu
:
{{
resources.cpu.limit
}}
m
memory
:
{{
resources.memory.limit
}}
Mi
memory
:
{{
resources.memory.limit
}}
Mi
readinessProbe
:
readinessProbe
:
exec
:
exec
:
command
:
[
"
redis-cli"
,
"
-p"
,
"
6383"
,
"
info"
]
command
:
[
"
redis-cli"
,
"
-p"
,
"
6383"
,
"
info"
]
initialDelaySeconds
:
5
initialDelaySeconds
:
5
periodSeconds
:
2
periodSeconds
:
2
timeoutSeconds
:
1
timeoutSeconds
:
1
failureThreshold
:
40
failureThreshold
:
40
dnsPolicy
:
ClusterFirst
dnsPolicy
:
ClusterFirst
imagePullSecrets
:
imagePullSecrets
:
-
name
:
qcloudregistrykey
-
name
:
qcloudregistrykey
...
@@ -133,15 +131,15 @@ metadata:
...
@@ -133,15 +131,15 @@ metadata:
spec
:
spec
:
type
:
NodePort
type
:
NodePort
ports
:
ports
:
-
name
:
'
6379'
-
name
:
'
6379'
port
:
6379
port
:
6379
-
name
:
'
6380'
-
name
:
'
6380'
port
:
6380
port
:
6380
-
name
:
'
6381'
-
name
:
'
6381'
port
:
6381
port
:
6381
-
name
:
'
6382'
-
name
:
'
6382'
port
:
6382
port
:
6382
-
name
:
'
6383'
-
name
:
'
6383'
port
:
6383
port
:
6383
selector
:
selector
:
qcloud-app
:
{{
serviceName
}}
qcloud-app
:
{{
serviceName
}}
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