Commit eed25eb0 authored by kewei.jia's avatar kewei.jia Committed by 智勇

域名切换

parent 9a68e2c1
......@@ -53,9 +53,9 @@ const createService = async (ctx) => {
await serviceCreate(ctx.cluster, ctx.client, data)
if (label !== 'base') {
if (serviceName === 'xyqb-user2') {
await ingressCreate(ctx.client, namespace, 'xyqb-user2-2', 'passportapi2')
await ingressCreate(ctx.client, namespace, 'xyqb-user2-2', 'passportapi2', ctx.clusterDomain)
}
await ingressCreate(ctx.client, namespace, serviceName, domain)
await ingressCreate(ctx.client, namespace, serviceName, domain, ctx.clusterDomain)
}
ctx.body = ctx.ok('创建成功')
}
......
const logger = require('koa-log4').getLogger()
const getManifest = (namespace, servicename, doamin) => ({
const getManifest = (namespace, servicename, doamin, clusterDomain) => ({
apiVersion: 'extensions/v1beta1',
kind: 'Ingress',
metadata: {
......@@ -13,7 +13,7 @@ const getManifest = (namespace, servicename, doamin) => ({
spec: {
rules: [
{
host: `${doamin}-${namespace}.liangkebang.net`,
host: `${doamin}-${namespace}.${clusterDomain}`,
http: {
paths: [
{
......@@ -32,14 +32,14 @@ const getManifest = (namespace, servicename, doamin) => ({
const ingressGet = async (client, namespace, servicename) => client.apis.extensions.v1beta1.namespaces(namespace)
.ingresses(servicename).get()
const ingressCreate = async (client, namespace, servicename, doamin) => {
const Manifest = getManifest(namespace, servicename, doamin)
const ingressCreate = async (client, namespace, servicename, doamin, clusterDomain) => {
const Manifest = getManifest(namespace, servicename, doamin, clusterDomain)
logger.info('创建ingress', JSON.stringify(Manifest))
await client.apis.extensions.v1beta1.namespace(namespace).ingresses
.post({ body: Manifest })
}
const ingressUpdate = async (client, namespace, servicename, host) => {
const Manifest = getManifest(namespace, servicename)
const ingressUpdate = async (client, namespace, servicename, host,clusterDomain) => {
const Manifest = getManifest(namespace, servicename,clusterDomain)
Manifest.spec.rules[0].host = host
logger.info('更新ingress', Manifest)
await client.apis.extensions.v1beta1.namespace(namespace).ingresses(servicename)
......
......@@ -11,15 +11,19 @@ module.exports = function client() {
} else {
const cluster = ctx.request.headers.cluster
let yaml = ''
let clusterDomain = ''
switch (cluster) {
case 'qa':
yaml = './../../kubeService/kubeConfig-qa.yaml'
clusterDomain = 'liangkebang.net'
break
case 'dev-ops':
yaml = './../../kubeService/kubeConfig-dev-ops.yaml'
clusterDomain = 'liangkebang.net'
break
case 'qke':
yaml = './../../kubeService/kubeConfig-qke.yaml'
clusterDomain = 'liangkebang.com'
break
default:
ctx.body = {
......@@ -36,9 +40,11 @@ module.exports = function client() {
version: '1.10',
})
client.clusterName = cluster
client.clusterDomain = clusterDomain
}
ctx.client = client[cluster]
ctx.cluster = client.clusterName
ctx.clusterDomain = client.clusterDomain
await next()
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment