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
b68c0507
Commit
b68c0507
authored
Nov 01, 2019
by
智勇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
同步数据库
parent
45eff20d
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
31 additions
and
30 deletions
+31
-30
dailySyncDB.js
app/dailySyncDB.js
+11
-11
index.js
app/index.js
+2
-2
restartLatest.js
app/restartLatest.js
+9
-9
service.js
app/service.js
+0
-1
index.js
config/index.js
+1
-1
getClient.js
resource/getClient.js
+3
-2
makeResouce.js
resource/makeResouce.js
+3
-2
awaitRequest.js
utils/awaitRequest.js
+2
-2
No files found.
app/dailySyncDB.js
View file @
b68c0507
...
@@ -6,18 +6,18 @@ const {
...
@@ -6,18 +6,18 @@ const {
}
=
require
(
'
../kubeService/service
'
)
}
=
require
(
'
../kubeService/service
'
)
const
getClient
=
require
(
'
../resource/getClient
'
)
const
getClient
=
require
(
'
../resource/getClient
'
)
const
awaitRequest
=
require
(
'
../utils/awaitRequest
'
)
const
awaitRequest
=
require
(
'
../utils/awaitRequest
'
)
const
APP_CONFIG
=
require
(
'
../config
'
)
const
syncDB
=
async
(
cluster
)
=>
{
const
syncDB
=
async
(
cluster
)
=>
{
logger
.
info
(
'
dailySyncDB start
'
)
logger
.
info
(
'
dailySyncDB start
'
)
const
client
=
(
await
getClient
(
cluster
)).
clientInfo
const
client
=
(
await
getClient
(
cluster
)).
clientInfo
const
ns
=
await
getAllNamespace
(
client
)
const
ns
=
await
getAllNamespace
(
client
)
// for test
// // for test
const
testNamespace
=
[
'
fis
'
,
'
arch
'
]
// const testNamespace = ['fis']
const
nsTest
=
ns
.
namespaces
&&
ns
.
namespaces
.
filter
(
item
=>
testNamespace
.
includes
(
item
.
name
))
// const nsTest = ns.namespaces && ns.namespaces.filter(item => testNamespace.includes(item.name))
for
(
const
namespace
of
nsTest
)
{
// for (const namespace of nsTest) {
// for (const namespace of ns.namespaces) {
for
(
const
namespace
of
ns
.
namespaces
)
{
const
svcs
=
await
getServicesFormat
(
client
,
namespace
.
name
)
const
svcs
=
await
getServicesFormat
(
client
,
namespace
.
name
)
for
(
const
svc
of
svcs
)
{
for
(
const
svc
of
svcs
)
{
if
(
svc
.
serviceName
===
'
mysql
'
)
{
if
(
svc
.
serviceName
===
'
mysql
'
)
{
...
@@ -30,15 +30,15 @@ const syncDB = async (cluster) => {
...
@@ -30,15 +30,15 @@ const syncDB = async (cluster) => {
}
}
const
res
=
await
awaitRequest
({
const
res
=
await
awaitRequest
({
url
:
'
http://qaapi.liangkebang.com/dbsync/tke
'
,
url
:
`
${
APP_CONFIG
.
qaapiHost
}
/dbsync/tke`
,
method
:
'
post
'
,
method
:
'
post
'
,
body
:
JSON
.
stringify
(
data
),
body
:
JSON
.
stringify
(
data
),
})
})
if
(
JSON
.
parse
(
res
.
body
)
.
code
===
'
0000
'
)
{
if
(
res
.
code
===
'
0000
'
)
{
logger
.
info
(
'
开始同步ns:
'
,
namespace
.
name
)
logger
.
info
(
'
开始同步ns:
'
,
namespace
.
name
)
}
else
{
}
else
{
logger
.
info
(
'
同步ns失败:
'
,
namespace
.
name
,
JSON
.
parse
(
res
.
body
)
.
data
)
logger
.
info
(
'
同步ns失败:
'
,
namespace
.
name
,
res
.
data
)
}
}
sleep
.
msleep
(
2
*
1000
)
sleep
.
msleep
(
2
*
1000
)
break
break
...
@@ -49,8 +49,8 @@ const syncDB = async (cluster) => {
...
@@ -49,8 +49,8 @@ const syncDB = async (cluster) => {
}
}
module
.
exports
=
()
=>
{
module
.
exports
=
()
=>
{
schedule
.
scheduleJob
(
'
*/2 * * * *
'
,
async
()
=>
{
//
schedule.scheduleJob('*/2 * * * *', async () => {
// schedule.scheduleJob('0 2
* * *', async () => {
schedule
.
scheduleJob
(
'
0 1
* * *
'
,
async
()
=>
{
try
{
try
{
await
syncDB
(
'
qa
'
)
await
syncDB
(
'
qa
'
)
}
catch
(
e
)
{
}
catch
(
e
)
{
...
...
app/index.js
View file @
b68c0507
...
@@ -15,7 +15,7 @@ const tag = require('./tag')
...
@@ -15,7 +15,7 @@ const tag = require('./tag')
const
cluster
=
require
(
'
./cluster
'
)
const
cluster
=
require
(
'
./cluster
'
)
const
ingressRoute
=
require
(
'
./ingress
'
)
const
ingressRoute
=
require
(
'
./ingress
'
)
const
deploy
=
require
(
'
./restartLatest
'
)
const
deploy
=
require
(
'
./restartLatest
'
)
//
const dailySyncDB = require('./dailySyncDB')
const
dailySyncDB
=
require
(
'
./dailySyncDB
'
)
const
client
=
require
(
'
../middleware/client
'
)
const
client
=
require
(
'
../middleware/client
'
)
const
logFormat
=
'
:req[x-real-ip] :req[x-forwarded-for] - -
'
const
logFormat
=
'
:req[x-real-ip] :req[x-forwarded-for] - -
'
...
@@ -59,7 +59,7 @@ exports.start = function (port) {
...
@@ -59,7 +59,7 @@ exports.start = function (port) {
// 加载所有路由
// 加载所有路由
loadRoutes
(
router
)
loadRoutes
(
router
)
deploy
()
deploy
()
//
dailySyncDB()
dailySyncDB
()
app
.
use
(
log4js
.
koaLogger
(
log4js
.
getLogger
(
'
http
'
),
{
level
:
'
auto
'
,
format
:
logFormat
}))
app
.
use
(
log4js
.
koaLogger
(
log4js
.
getLogger
(
'
http
'
),
{
level
:
'
auto
'
,
format
:
logFormat
}))
app
.
use
(
router
.
routes
())
app
.
use
(
router
.
routes
())
app
.
listen
(
port
)
app
.
listen
(
port
)
...
...
app/restartLatest.js
View file @
b68c0507
...
@@ -11,8 +11,8 @@ const makeResouce = require('./../resource/makeResouce')
...
@@ -11,8 +11,8 @@ const makeResouce = require('./../resource/makeResouce')
const
deploy
=
async
(
cluster
)
=>
{
const
deploy
=
async
(
cluster
)
=>
{
logger
.
info
(
'
deployLatest start
'
)
logger
.
info
(
'
deployLatest start
'
)
const
client
=
(
await
getClient
(
cluster
)).
clientInfo
const
client
=
await
getClient
(
cluster
)
const
ns
=
await
getAllNamespace
(
client
)
const
ns
=
await
getAllNamespace
(
client
.
clientInfo
)
// // for test
// // for test
// const testNamespace = ['fis']
// const testNamespace = ['fis']
...
@@ -21,22 +21,22 @@ const deploy = async (cluster) => {
...
@@ -21,22 +21,22 @@ const deploy = async (cluster) => {
for
(
const
namespace
of
ns
.
namespaces
)
{
for
(
const
namespace
of
ns
.
namespaces
)
{
logger
.
info
(
'
开始检查ns:
'
,
namespace
.
name
)
logger
.
info
(
'
开始检查ns:
'
,
namespace
.
name
)
const
svcs
=
await
getServicesFormat
(
client
,
namespace
.
name
)
const
svcs
=
await
getServicesFormat
(
client
.
clientInfo
,
namespace
.
name
)
for
(
const
svc
of
svcs
)
{
for
(
const
svc
of
svcs
)
{
// 重启latest
// 重启latest
if
(
svc
.
image
.
indexOf
(
'
latest
'
)
!==
-
1
)
{
if
(
~
svc
.
image
.
indexOf
(
'
latest
'
)
)
{
logger
.
info
(
'
检查项目
'
,
svc
.
imag
e
)
logger
.
info
(
'
检查项目
'
,
namespace
.
name
,
svc
.
serviceNam
e
)
const
repoName
=
svc
.
image
.
split
(
'
:
'
)[
0
].
split
(
'
/
'
).
slice
(
1
).
join
(
'
/
'
)
const
repoName
=
svc
.
image
.
split
(
'
:
'
)[
0
].
split
(
'
/
'
).
slice
(
1
).
join
(
'
/
'
)
const
latest
=
await
container
.
getTagByName
(
repoName
,
'
latest
'
)
const
latest
=
await
container
.
getTagByName
(
repoName
,
'
latest
'
)
const
latestImageID
=
_
.
get
(
latest
.
tagInfo
,
'
[0].tagId
'
,
''
)
const
latestImageID
=
_
.
get
(
latest
.
tagInfo
,
'
[0].tagId
'
,
''
)
if
(
svc
.
imageID
.
split
(
'
@
'
)[
1
]
!==
latestImageID
)
{
if
(
svc
.
imageID
.
split
(
'
@
'
)[
1
]
!==
latestImageID
)
{
logger
.
info
(
'
latest不一致,部署项目
'
,
namespace
.
name
,
svc
.
podName
)
logger
.
info
(
'
latest不一致,部署项目
'
,
namespace
.
name
,
svc
.
podName
)
await
serviceRestart
(
client
,
namespace
.
name
,
svc
.
podName
)
await
serviceRestart
(
client
.
clientInfo
,
namespace
.
name
,
svc
.
podName
)
}
}
sleep
.
msleep
(
1000
)
sleep
.
msleep
(
1000
)
}
}
// 把master更新部署成lastet
// 把master更新部署成lastet
if
(
svc
.
image
.
indexOf
(
'
:master-
'
)
!==
-
1
)
{
if
(
~
svc
.
image
.
search
(
'
:master-
'
)
)
{
logger
.
info
(
'
将master分支
'
,
svc
.
image
,
'
部署成latest
'
)
logger
.
info
(
'
将master分支
'
,
svc
.
image
,
'
部署成latest
'
)
const
repoName
=
svc
.
image
.
split
(
'
:
'
)[
0
].
split
(
'
/
'
).
slice
(
1
).
join
(
'
/
'
)
const
repoName
=
svc
.
image
.
split
(
'
:
'
)[
0
].
split
(
'
/
'
).
slice
(
1
).
join
(
'
/
'
)
let
mock
let
mock
...
@@ -46,14 +46,14 @@ const deploy = async (cluster) => {
...
@@ -46,14 +46,14 @@ const deploy = async (cluster) => {
const
data
=
{
const
data
=
{
image
:
`
${
repoName
}
:latest`
,
image
:
`
${
repoName
}
:latest`
,
namespace
:
namespace
.
name
,
namespace
:
namespace
.
name
,
serviceName
:
repoName
.
split
(
'
/
'
)[
1
]
,
serviceName
:
svc
.
serviceName
,
type
:
svc
.
labels
.
type
,
type
:
svc
.
labels
.
type
,
label
:
svc
.
labels
.
type
,
label
:
svc
.
labels
.
type
,
mock
,
mock
,
}
}
const
resources
=
await
makeResouce
(
data
.
serviceName
,
data
.
label
)
const
resources
=
await
makeResouce
(
data
.
serviceName
,
data
.
label
)
data
.
resources
=
resources
data
.
resources
=
resources
await
deployUpdate
(
client
.
clusterInfo
,
client
,
data
)
await
deployUpdate
(
client
.
clusterInfo
,
client
.
clientInfo
,
data
)
sleep
.
msleep
(
1000
)
sleep
.
msleep
(
1000
)
}
}
}
}
...
...
app/service.js
View file @
b68c0507
...
@@ -143,7 +143,6 @@ router.post('/modifyDeploy', async (ctx) => {
...
@@ -143,7 +143,6 @@ router.post('/modifyDeploy', async (ctx) => {
const
resources
=
await
makeResouce
(
data
.
serviceName
,
data
.
label
)
const
resources
=
await
makeResouce
(
data
.
serviceName
,
data
.
label
)
data
.
resources
=
resources
data
.
resources
=
resources
await
deployUpdate
(
ctx
.
cluterParams
,
ctx
.
client
,
data
)
await
deployUpdate
(
ctx
.
cluterParams
,
ctx
.
client
,
data
)
// await deployUpdate(ctx.cluster, ctx.client, data)
ctx
.
body
=
ctx
.
ok
(
'
更新成功
'
)
ctx
.
body
=
ctx
.
ok
(
'
更新成功
'
)
})
})
...
...
config/index.js
View file @
b68c0507
...
@@ -13,5 +13,5 @@ module.exports = {
...
@@ -13,5 +13,5 @@ module.exports = {
noHealthCheckApp
:
[
noHealthCheckApp
:
[
'
acs-batch
'
,
'
acs-quartz
'
,
'
acs-service
'
,
'
pcm
'
,
'
vcc-talos
'
,
'
app-server
'
,
'
smart-recruitment-spyder
'
,
'
cash-loan-flow-report
'
,
'
acs-batch
'
,
'
acs-quartz
'
,
'
acs-service
'
,
'
pcm
'
,
'
vcc-talos
'
,
'
app-server
'
,
'
smart-recruitment-spyder
'
,
'
cash-loan-flow-report
'
,
],
],
qaapiHost
:
'
http://qaapi.liangkebang.com
'
,
}
}
resource/getClient.js
View file @
b68c0507
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
awaitRequest
=
require
(
'
../utils/awaitRequest
'
)
const
awaitRequest
=
require
(
'
../utils/awaitRequest
'
)
const
APP_CONFIG
=
require
(
'
../config
'
)
const
getClient
=
async
function
(
cluster
)
{
const
getClient
=
async
function
(
cluster
)
{
const
res
=
await
awaitRequest
({
const
res
=
await
awaitRequest
({
url
:
`
http://qaapi.liangkebang.com
/cluster/list?clusterName=
${
cluster
}
`
,
url
:
`
${
APP_CONFIG
.
qaapiHost
}
/cluster/list?clusterName=
${
cluster
}
`
,
method
:
'
get
'
,
method
:
'
get
'
,
})
})
const
ca
=
JSON
.
parse
(
res
.
body
)
.
data
[
0
]
const
ca
=
res
.
data
[
0
]
const
clientInfo
=
new
Client
({
const
clientInfo
=
new
Client
({
config
:
config
.
fromKubeconfig
(
ca
.
clusterCA
),
config
:
config
.
fromKubeconfig
(
ca
.
clusterCA
),
...
...
resource/makeResouce.js
View file @
b68c0507
const
{
defaultConfig
}
=
require
(
'
../resource/resourceLimit
'
)
const
{
defaultConfig
}
=
require
(
'
../resource/resourceLimit
'
)
const
awaitRequest
=
require
(
'
../utils/awaitRequest
'
)
const
awaitRequest
=
require
(
'
../utils/awaitRequest
'
)
const
APP_CONFIG
=
require
(
'
../config
'
)
// 资源限制
// 资源限制
module
.
exports
=
async
(
serviceName
,
type
)
=>
{
module
.
exports
=
async
(
serviceName
,
type
)
=>
{
let
resources
=
defaultConfig
[
type
]
let
resources
=
defaultConfig
[
type
]
const
res
=
await
awaitRequest
({
const
res
=
await
awaitRequest
({
url
:
`
http://qaapi.liangkebang.com
/proconfig/getK8sConf?project_name=
${
serviceName
}
`
,
url
:
`
${
APP_CONFIG
.
qaapiHost
}
/proconfig/getK8sConf?project_name=
${
serviceName
}
`
,
method
:
'
get
'
,
method
:
'
get
'
,
})
})
const
mongoResouces
=
JSON
.
parse
(
res
.
body
)
.
data
const
mongoResouces
=
res
.
data
if
(
mongoResouces
&&
mongoResouces
.
memLimit
)
{
if
(
mongoResouces
&&
mongoResouces
.
memLimit
)
{
resources
=
mongoResouces
resources
=
mongoResouces
}
}
...
...
utils/awaitRequest.js
View file @
b68c0507
...
@@ -7,11 +7,11 @@ module.exports = function (options) {
...
@@ -7,11 +7,11 @@ module.exports = function (options) {
'
Content-Type
'
:
'
application/json;charset=utf-8
'
,
'
Content-Type
'
:
'
application/json;charset=utf-8
'
,
cluster
:
'
qa
'
,
cluster
:
'
qa
'
,
},
},
}),
(
error
,
res
)
=>
{
}),
(
error
,
res
,
body
)
=>
{
if
(
error
)
{
if
(
error
)
{
reject
(
error
)
reject
(
error
)
}
else
{
}
else
{
resolve
(
res
)
resolve
(
JSON
.
parse
(
body
)
)
}
}
})
})
})
})
...
...
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