Commit 3514ecb3 authored by kewei.jia's avatar kewei.jia

功能修改 统一批次创建环境和单个创建环境的参数问题

parent 1c710fc9
...@@ -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('创建成功')
}) })
......
...@@ -4,14 +4,13 @@ const config = require('kubernetes-client').config ...@@ -4,14 +4,13 @@ const config = require('kubernetes-client').config
// const client = new Client({ config: config.fromKubeconfig(), version: '1.9' }) // const client = new Client({ config: config.fromKubeconfig(), version: '1.9' })
console.log(path.resolve(__dirname, './kubeConfig.yaml'))
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) => ({ const getManifest = (namespace, servicename, doamin) => ({
apiVersion: 'extensions/v1beta1', apiVersion: 'extensions/v1beta1',
kind: 'Ingress', kind: 'Ingress',
metadata: { metadata: {
...@@ -24,7 +23,7 @@ const getManifest = (namespace, servicename) => ({ ...@@ -24,7 +23,7 @@ const getManifest = (namespace, servicename) => ({
spec: { spec: {
rules: [ rules: [
{ {
host: `${servicename}-${namespace}.liangkebang.net`, host: `${doamin}-${namespace}.liangkebang.net`,
http: { http: {
paths: [ paths: [
{ {
...@@ -42,8 +41,8 @@ const getManifest = (namespace, servicename) => ({ ...@@ -42,8 +41,8 @@ const getManifest = (namespace, servicename) => ({
}) })
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) => { const ingressCreate = async (namespace, servicename, doamin) => {
const Manifest = getManifest(namespace, servicename) const Manifest = getManifest(namespace, servicename, doamin)
await client.apis.extensions.v1beta1.namespace(namespace).ingresses await client.apis.extensions.v1beta1.namespace(namespace).ingresses
.post({ body: Manifest }) .post({ body: Manifest })
} }
......
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
......
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
......
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
......
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
......
...@@ -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, type) { async service_create(params, lable) {
logger.info('创建服务详细信息:', params, type) logger.info('创建服务详细信息:', params, lable)
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': type, 'labels.type': lable,
} }
logger.info('修改服务标签信息:', updateLabels)
return this.post('ModifyServiceLabels', updateLabels) return this.post('ModifyServiceLabels', updateLabels)
} }
......
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