From 9e656042a5de3adaeab2c10c6744131e300089a4 Mon Sep 17 00:00:00 2001 From: Jason Song Date: Sun, 3 Jul 2022 10:01:05 +0800 Subject: [PATCH] move scripts/apollo-on-kubernetes to https://github.com/apolloconfig/apollo-on-kubernetes --- CHANGES.md | 1 + .../apollo-demo-overview.jpg | Bin 124083 -> 122250 bytes scripts/apollo-on-kubernetes/README.md | 170 ------------------ .../service-apollo-admin-server-dev.yaml | 124 ------------- .../service-apollo-config-server-dev.yaml | 142 --------------- .../service-mysql-for-apollo-dev-env.yaml | 44 ----- .../service-apollo-admin-server-fat.yaml | 124 ------------- .../service-apollo-config-server-fat.yaml | 141 --------------- .../service-mysql-for-apollo-fat-env.yaml | 43 ----- .../service-apollo-admin-server-prod.yaml | 124 ------------- .../service-apollo-config-server-prod.yaml | 141 --------------- .../service-mysql-for-apollo-prod-env.yaml | 43 ----- .../service-apollo-admin-server-uat.yaml | 122 ------------- .../service-apollo-config-server-uat.yaml | 141 --------------- .../service-mysql-for-apollo-uat-env.yaml | 43 ----- .../kubernetes/kubectl-apply.sh | 40 ----- .../service-apollo-portal-server.yaml | 170 ------------------ 17 files changed, 1 insertion(+), 1612 deletions(-) delete mode 100644 scripts/apollo-on-kubernetes/README.md delete mode 100755 scripts/apollo-on-kubernetes/kubernetes/apollo-env-dev/service-apollo-admin-server-dev.yaml delete mode 100755 scripts/apollo-on-kubernetes/kubernetes/apollo-env-dev/service-apollo-config-server-dev.yaml delete mode 100755 scripts/apollo-on-kubernetes/kubernetes/apollo-env-dev/service-mysql-for-apollo-dev-env.yaml delete mode 100755 scripts/apollo-on-kubernetes/kubernetes/apollo-env-fat/service-apollo-admin-server-fat.yaml delete mode 100755 scripts/apollo-on-kubernetes/kubernetes/apollo-env-fat/service-apollo-config-server-fat.yaml delete mode 100755 scripts/apollo-on-kubernetes/kubernetes/apollo-env-fat/service-mysql-for-apollo-fat-env.yaml delete mode 100755 scripts/apollo-on-kubernetes/kubernetes/apollo-env-prod/service-apollo-admin-server-prod.yaml delete mode 100755 scripts/apollo-on-kubernetes/kubernetes/apollo-env-prod/service-apollo-config-server-prod.yaml delete mode 100755 scripts/apollo-on-kubernetes/kubernetes/apollo-env-prod/service-mysql-for-apollo-prod-env.yaml delete mode 100755 scripts/apollo-on-kubernetes/kubernetes/apollo-env-uat/service-apollo-admin-server-uat.yaml delete mode 100755 scripts/apollo-on-kubernetes/kubernetes/apollo-env-uat/service-apollo-config-server-uat.yaml delete mode 100755 scripts/apollo-on-kubernetes/kubernetes/apollo-env-uat/service-mysql-for-apollo-uat-env.yaml delete mode 100755 scripts/apollo-on-kubernetes/kubernetes/kubectl-apply.sh delete mode 100755 scripts/apollo-on-kubernetes/kubernetes/service-apollo-portal-server.yaml diff --git a/CHANGES.md b/CHANGES.md index c65704e7b1d..b5b8ac6cbde 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -13,5 +13,6 @@ Apollo 2.1.0 * [Upgrade mysql-connector-java version to fix possible transaction rollback failure issue](https://github.com/apolloconfig/apollo/pull/4425) * [Remove database migration tool Flyway](https://github.com/apolloconfig/apollo/pull/4361) * [Optimize Spring-Security Firewall Deny Request Response 400](https://github.com/apolloconfig/apollo/pull/4428) +* [Move apollo-demo, scripts/docker-quick-start and scripts/apollo-on-kubernetes out of main repository](https://github.com/apolloconfig/apollo/pull/4440) ------------------ All issues and pull requests are [here](https://github.com/apolloconfig/apollo/milestone/11?closed=1) diff --git a/doc/images/local-development/apollo-demo-overview.jpg b/doc/images/local-development/apollo-demo-overview.jpg index 9754fd378a7a4df7f003e3d333cc0449765b1cd2..9286b118003347330801ca4cf56f893ae299d7ab 100644 GIT binary patch literal 122250 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 literal 124083 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 UFXT^fr~jKr`9E!JkRRXv7pyOD#sB~S diff --git a/scripts/apollo-on-kubernetes/README.md b/scripts/apollo-on-kubernetes/README.md deleted file mode 100644 index 73708ddb94f..00000000000 --- a/scripts/apollo-on-kubernetes/README.md +++ /dev/null @@ -1,170 +0,0 @@ -# 使用方法 - -> Apollo 1.7.0版本增加了基于Kubernetes原生服务发现的[Helm Chart部署模式](https://www.apolloconfig.com/#/zh/deployment/distributed-deployment-guide?id=_241-%e5%9f%ba%e4%ba%8ekubernetes%e5%8e%9f%e7%94%9f%e6%9c%8d%e5%8a%a1%e5%8f%91%e7%8e%b0),由于不再使用内置的Eureka,所以在整体部署上有很大简化,如无特殊需求,建议使用该模式部署。 - -## 1. 创建数据库 -具体步骤请参考 [2.1 创建数据库](https://www.apolloconfig.com/#/zh/deployment/distributed-deployment-guide?id=_21-%e5%88%9b%e5%bb%ba%e6%95%b0%e6%8d%ae%e5%ba%93),需要注意的是 ApolloPortalDB 只需要在生产环境部署一个即可,而 ApolloConfigDB 需要在每个环境部署一套,示例假设你的 apollo 开启了 4 个环境, 即 dev、fat、uat、prod,那么就需要创建 4 个 ApolloConfigDB。 - -## 2. 调整部署配置 - -### 2.1 ApolloConfigDB 数据库连接信息 - -以 dev 环境为例,需要修改: - -1. `apollo-env-dev/service-apollo-config-server-dev.yaml`和`apollo-env-dev/service-apollo-admin-server-dev.yaml`中`application-github.properties`的`spring.datasource.url`,`spring.datasource.username`和`spring.datasource.password`配置 -2. `apollo-env-dev/service-mysql-for-apollo-dev-env.yaml`中 mysql endpoint 地址信息 - -### 2.2 eureka.service.url - -以 dev 环境为例,默认是以 replica 为 3 做的样例配置,如果 replica 数量改变了,那么也要对应修改`apollo-env-dev/service-apollo-config-server-dev.yaml`和`apollo-env-dev/service-apollo-admin-server-dev.yaml`中`application-github.properties`的`eureka.service.url`配置。 - -如果该配置希望以数据库中为准,那么在 yaml 中直接删除该配置项即可。 - -### 2.3 ApolloPortalDB 数据库连接信息 - -1. 修改`service-apollo-portal-server.yaml`中`application-github.properties`的`spring.datasource.url`,`spring.datasource.username`和`spring.datasource.password`配置 -2. 修改`service-apollo-portal-server.yaml`中 mysql endpoint 地址信息 - -### 2.4 ApolloPortal 的环境信息 - -1. 修改`service-apollo-portal-server.yaml`中`application-github.properties`的`apollo.portal.envs`配置 - * 如果该配置希望以数据库中为准,那么在 yaml 中直接删除该配置项即可。 -2. 修改`service-apollo-portal-server.yaml`中`apollo-env.properties`的各环境 meta server 地址信息 - -## 3. Deploy apollo on kubernetes - -示例假设 apollo 开启了 4 个环境, 即 dev、fat、uat、pro - -按照 scripts/apollo-on-kubernetes/kubernetes/kubectl-apply.sh 文件的内容部署 apollo 即可。 - -```bash -scripts/apollo-on-kubernetes/kubernetes$ cat kubectl-apply.sh -# create namespace -kubectl create namespace sre - -# dev-env -kubectl apply -f apollo-env-dev/service-mysql-for-apollo-dev-env.yaml --record && \ -kubectl apply -f apollo-env-dev/service-apollo-config-server-dev.yaml --record && \ -kubectl apply -f apollo-env-dev/service-apollo-admin-server-dev.yaml --record - -# fat-env -kubectl apply -f apollo-env-fat/service-mysql-for-apollo-fat-env.yaml --record && \ -kubectl apply -f apollo-env-fat/service-apollo-config-server-fat.yaml --record && \ -kubectl apply -f apollo-env-fat/service-apollo-admin-server-fat.yaml --record - -# uat-env -kubectl apply -f apollo-env-uat/service-mysql-for-apollo-uat-env.yaml --record && \ -kubectl apply -f apollo-env-uat/service-apollo-config-server-uat.yaml --record && \ -kubectl apply -f apollo-env-uat/service-apollo-admin-server-uat.yaml --record - -# prod-env -kubectl apply -f apollo-env-prod/service-mysql-for-apollo-prod-env.yaml --record && \ -kubectl apply -f apollo-env-prod/service-apollo-config-server-prod.yaml --record && \ -kubectl apply -f apollo-env-prod/service-apollo-admin-server-prod.yaml --record - -# portal -kubectl apply -f service-apollo-portal-server.yaml --record -``` - -## 4. 验证所有 pod 处于 Running 并且 READY 状态 - -```bash -kubectl get pod -n sre -o wide - -# 示例结果 -NAME READY STATUS RESTARTS AGE IP NODE -deployment-apollo-admin-server-dev-b7bbd657-4d5jx 1/1 Running 0 2d 10.247.4.79 k8s-apollo-node-2 -deployment-apollo-admin-server-dev-b7bbd657-lwz5x 1/1 Running 0 2d 10.247.8.7 k8s-apollo-node-3 -deployment-apollo-admin-server-dev-b7bbd657-xs4wt 1/1 Running 0 2d 10.247.1.23 k8s-apollo-node-1 -deployment-apollo-admin-server-prod-699bbd894f-j977p 1/1 Running 0 2d 10.247.4.83 k8s-apollo-node-2 -deployment-apollo-admin-server-prod-699bbd894f-n9m54 1/1 Running 0 2d 10.247.8.11 k8s-apollo-node-3 -deployment-apollo-admin-server-prod-699bbd894f-vs56w 1/1 Running 0 2d 10.247.1.27 k8s-apollo-node-1 -deployment-apollo-admin-server-uat-7c855cd4f5-9br65 1/1 Running 0 2d 10.247.1.25 k8s-apollo-node-1 -deployment-apollo-admin-server-uat-7c855cd4f5-cck5g 1/1 Running 0 2d 10.247.8.9 k8s-apollo-node-3 -deployment-apollo-admin-server-uat-7c855cd4f5-x6gt4 1/1 Running 0 2d 10.247.4.81 k8s-apollo-node-2 -deployment-apollo-portal-server-6d4bbc879c-bv7cn 1/1 Running 0 2d 10.247.8.12 k8s-apollo-node-3 -deployment-apollo-portal-server-6d4bbc879c-c4zrb 1/1 Running 0 2d 10.247.1.28 k8s-apollo-node-1 -deployment-apollo-portal-server-6d4bbc879c-qm4mn 1/1 Running 0 2d 10.247.4.84 k8s-apollo-node-2 -statefulset-apollo-config-server-dev-0 1/1 Running 0 2d 10.247.8.6 k8s-apollo-node-3 -statefulset-apollo-config-server-dev-1 1/1 Running 0 2d 10.247.4.78 k8s-apollo-node-2 -statefulset-apollo-config-server-dev-2 1/1 Running 0 2d 10.247.1.22 k8s-apollo-node-1 -statefulset-apollo-config-server-prod-0 1/1 Running 0 2d 10.247.8.10 k8s-apollo-node-3 -statefulset-apollo-config-server-prod-1 1/1 Running 0 2d 10.247.4.82 k8s-apollo-node-2 -statefulset-apollo-config-server-prod-2 1/1 Running 0 2d 10.247.1.26 k8s-apollo-node-1 -statefulset-apollo-config-server-uat-0 1/1 Running 0 2d 10.247.8.8 k8s-apollo-node-3 -statefulset-apollo-config-server-uat-1 1/1 Running 0 2d 10.247.4.80 k8s-apollo-node-2 -statefulset-apollo-config-server-uat-2 1/1 Running 0 2d 10.247.1.24 k8s-apollo-node-1 -``` - -### 2.4 访问 apollo service - -- server 端(即 portal)
-    kubernetes-master-ip:30001 - -- client 端, 在 client 端无需再实现负载均衡
-Dev
-    kubernetes-master-ip:30002
-Fat
-    kubernetes-master-ip:30003
-Uat
-    kubernetes-master-ip:30004
-Prod
-    kubernetes-master-ip:30005
- -# FAQ - -## 关于 kubernetes yaml 文件 -具体内容请查看 `scripts/apollo-on-kubernetes/kubernetes/service-apollo-portal-server.yaml` 注释
-其他类似。 - -## 关于 eureka.service.url -使用 meta-server(即 config-server) 的 pod name, config-server 务必使用 statefulset。 -格式为:`http://.:/eureka/`。 - -以 apollo-env-dev 为例: -```bash -('eureka.service.url', 'default', 'http://statefulset-apollo-config-server-dev-0.service-apollo-meta-server-dev:8080/eureka/,http://statefulset-apollo-config-server-dev-1.service-apollo-meta-server-dev:8080/eureka/,http://statefulset-apollo-config-server-dev-2.service-apollo-meta-server-dev:8080/eureka/', 'Eureka服务Url,多个service以英文逗号分隔') -``` -你可以精简 config-server pod 的 name, 示例的长名字是为了更好的阅读与理解。 - -### 方式一:通过Spring Boot文件 application-github.properties配置(推荐) -推荐此方式配置 `eureka.service.url`,因为可以通过ConfigMap的方式传入容器,无需再修改数据库的字段。 - -Admin Server的配置: -```yaml ---- -# configmap for apollo-admin-server-dev -kind: ConfigMap -apiVersion: v1 -metadata: - namespace: sre - name: configmap-apollo-admin-server-dev -data: - application-github.properties: | - spring.datasource.url = jdbc:mysql://service-mysql-for-apollo-dev-env-mariadb.sre:3306/DevApolloConfigDB?characterEncoding=utf8 - spring.datasource.username = root - spring.datasource.password = test - eureka.service.url = http://statefulset-apollo-config-server-dev-0.service-apollo-meta-server-dev:8080/eureka/,http://statefulset-apollo-config-server-dev-1.service-apollo-meta-server-dev:8080/eureka/,http://statefulset-apollo-config-server-dev-2.service-apollo-meta-server-dev:8080/eureka/ - -``` - -Config Server的配置: -```yaml ---- -# configmap for apollo-config-server-dev -kind: ConfigMap -apiVersion: v1 -metadata: - namespace: sre - name: configmap-apollo-config-server-dev -data: - application-github.properties: | - spring.datasource.url = jdbc:mysql://service-mysql-for-apollo-dev-env-mariadb.sre:3306/DevApolloConfigDB?characterEncoding=utf8 - spring.datasource.username = root - spring.datasource.password = m6bCdQXa00 - eureka.service.url = http://statefulset-apollo-config-server-dev-0.service-apollo-meta-server-dev:8080/eureka/,http://statefulset-apollo-config-server-dev-1.service-apollo-meta-server-dev:8080/eureka/,http://statefulset-apollo-config-server-dev-2.service-apollo-meta-server-dev:8080/eureka/ - -``` - -### 方式二:修改数据表 ApolloConfigDB.ServerConfig -修改数据库表 ApolloConfigDB.ServerConfig的 eureka.service.url。 diff --git a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-dev/service-apollo-admin-server-dev.yaml b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-dev/service-apollo-admin-server-dev.yaml deleted file mode 100755 index b14c1f1eb4a..00000000000 --- a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-dev/service-apollo-admin-server-dev.yaml +++ /dev/null @@ -1,124 +0,0 @@ -# -# Copyright 2022 Apollo Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ---- -# configmap for apollo-admin-server-dev -kind: ConfigMap -apiVersion: v1 -metadata: - namespace: sre - name: configmap-apollo-admin-server-dev -data: - application-github.properties: | - spring.datasource.url = jdbc:mysql://service-mysql-for-apollo-dev-env.sre:3306/ApolloConfigDB?characterEncoding=utf8 - spring.datasource.username = FillInCorrectUser - spring.datasource.password = FillInCorrectPassword - eureka.service.url = http://statefulset-apollo-config-server-dev-0.service-apollo-meta-server-dev:8080/eureka/,http://statefulset-apollo-config-server-dev-1.service-apollo-meta-server-dev:8080/eureka/ - ---- -kind: Service -apiVersion: v1 -metadata: - namespace: sre - name: service-apollo-admin-server-dev - labels: - app: service-apollo-admin-server-dev -spec: - ports: - - protocol: TCP - port: 8090 - targetPort: 8090 - selector: - app: pod-apollo-admin-server-dev - type: ClusterIP - sessionAffinity: ClientIP - ---- -kind: Deployment -apiVersion: apps/v1 -metadata: - namespace: sre - name: deployment-apollo-admin-server-dev - labels: - app: deployment-apollo-admin-server-dev -spec: - replicas: 2 - selector: - matchLabels: - app: pod-apollo-admin-server-dev - strategy: - rollingUpdate: - maxSurge: 1 - maxUnavailable: 1 - type: RollingUpdate - template: - metadata: - labels: - app: pod-apollo-admin-server-dev - spec: - affinity: - podAntiAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - weight: 100 - podAffinityTerm: - labelSelector: - matchExpressions: - - key: app - operator: In - values: - - pod-apollo-admin-server-dev - topologyKey: kubernetes.io/hostname - - volumes: - - name: volume-configmap-apollo-admin-server-dev - configMap: - name: configmap-apollo-admin-server-dev - items: - - key: application-github.properties - path: application-github.properties - - containers: - - image: apolloconfig/apollo-adminservice:2.0.1 - securityContext: - privileged: true - imagePullPolicy: IfNotPresent - name: container-apollo-admin-server-dev - ports: - - protocol: TCP - containerPort: 8090 - - volumeMounts: - - name: volume-configmap-apollo-admin-server-dev - mountPath: /apollo-adminservice/config/application-github.properties - subPath: application-github.properties - - env: - - name: APOLLO_ADMIN_SERVICE_NAME - value: "service-apollo-admin-server-dev.sre" - - readinessProbe: - tcpSocket: - port: 8090 - initialDelaySeconds: 10 - periodSeconds: 5 - - livenessProbe: - tcpSocket: - port: 8090 - initialDelaySeconds: 120 - periodSeconds: 10 - - dnsPolicy: ClusterFirst - restartPolicy: Always diff --git a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-dev/service-apollo-config-server-dev.yaml b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-dev/service-apollo-config-server-dev.yaml deleted file mode 100755 index 3447f136500..00000000000 --- a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-dev/service-apollo-config-server-dev.yaml +++ /dev/null @@ -1,142 +0,0 @@ -# -# Copyright 2022 Apollo Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ---- -# configmap for apollo-config-server-dev -kind: ConfigMap -apiVersion: v1 -metadata: - namespace: sre - name: configmap-apollo-config-server-dev -data: - application-github.properties: | - spring.datasource.url = jdbc:mysql://service-mysql-for-apollo-dev-env.sre:3306/ApolloConfigDB?characterEncoding=utf8 - spring.datasource.username = FillInCorrectUser - spring.datasource.password = FillInCorrectPassword - eureka.service.url = http://statefulset-apollo-config-server-dev-0.service-apollo-meta-server-dev:8080/eureka/,http://statefulset-apollo-config-server-dev-1.service-apollo-meta-server-dev:8080/eureka/ - ---- -kind: Service -apiVersion: v1 -metadata: - namespace: sre - name: service-apollo-meta-server-dev - labels: - app: service-apollo-meta-server-dev -spec: - ports: - - protocol: TCP - port: 8080 - targetPort: 8080 - selector: - app: pod-apollo-config-server-dev - type: ClusterIP - clusterIP: None - sessionAffinity: ClientIP - ---- -kind: Service -apiVersion: v1 -metadata: - namespace: sre - name: service-apollo-config-server-dev - labels: - app: service-apollo-config-server-dev -spec: - ports: - - protocol: TCP - port: 8080 - targetPort: 8080 - nodePort: 30002 - selector: - app: pod-apollo-config-server-dev - type: NodePort - sessionAffinity: ClientIP - ---- -kind: StatefulSet -apiVersion: apps/v1 -metadata: - namespace: sre - name: statefulset-apollo-config-server-dev - labels: - app: statefulset-apollo-config-server-dev -spec: - serviceName: service-apollo-meta-server-dev - replicas: 2 - selector: - matchLabels: - app: pod-apollo-config-server-dev - updateStrategy: - type: RollingUpdate - template: - metadata: - labels: - app: pod-apollo-config-server-dev - spec: - affinity: - podAntiAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - weight: 100 - podAffinityTerm: - labelSelector: - matchExpressions: - - key: app - operator: In - values: - - pod-apollo-config-server-dev - topologyKey: kubernetes.io/hostname - - volumes: - - name: volume-configmap-apollo-config-server-dev - configMap: - name: configmap-apollo-config-server-dev - items: - - key: application-github.properties - path: application-github.properties - - containers: - - image: apolloconfig/apollo-configservice:2.0.1 - securityContext: - privileged: true - imagePullPolicy: IfNotPresent - name: container-apollo-config-server-dev - ports: - - protocol: TCP - containerPort: 8080 - - volumeMounts: - - name: volume-configmap-apollo-config-server-dev - mountPath: /apollo-configservice/config/application-github.properties - subPath: application-github.properties - - env: - - name: APOLLO_CONFIG_SERVICE_NAME - value: "service-apollo-config-server-dev.sre" - - readinessProbe: - tcpSocket: - port: 8080 - initialDelaySeconds: 10 - periodSeconds: 5 - - livenessProbe: - tcpSocket: - port: 8080 - initialDelaySeconds: 120 - periodSeconds: 10 - - dnsPolicy: ClusterFirst - restartPolicy: Always diff --git a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-dev/service-mysql-for-apollo-dev-env.yaml b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-dev/service-mysql-for-apollo-dev-env.yaml deleted file mode 100755 index 45351473aad..00000000000 --- a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-dev/service-mysql-for-apollo-dev-env.yaml +++ /dev/null @@ -1,44 +0,0 @@ -# -# Copyright 2022 Apollo Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ---- -# 为外部 mysql 服务设置 service -kind: Service -apiVersion: v1 -metadata: - namespace: sre - name: service-mysql-for-apollo-dev-env - labels: - app: service-mysql-for-apollo-dev-env -spec: - ports: - - protocol: TCP - port: 3306 - targetPort: 3306 - type: ClusterIP - sessionAffinity: None - ---- -kind: Endpoints -apiVersion: v1 -metadata: - namespace: sre - name: service-mysql-for-apollo-dev-env -subsets: - - addresses: - - ip: your-mysql-addresses - ports: - - protocol: TCP - port: 3306 diff --git a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-fat/service-apollo-admin-server-fat.yaml b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-fat/service-apollo-admin-server-fat.yaml deleted file mode 100755 index 0b6d2cea3f6..00000000000 --- a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-fat/service-apollo-admin-server-fat.yaml +++ /dev/null @@ -1,124 +0,0 @@ -# -# Copyright 2022 Apollo Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ---- -# configmap for apollo-admin-server-fat -kind: ConfigMap -apiVersion: v1 -metadata: - namespace: sre - name: configmap-apollo-admin-server-fat -data: - application-github.properties: | - spring.datasource.url = jdbc:mysql://service-mysql-for-apollo-fat-env.sre:3306/ApolloConfigDB?characterEncoding=utf8 - spring.datasource.username = FillInCorrectUser - spring.datasource.password = FillInCorrectPassword - eureka.service.url = http://statefulset-apollo-config-server-fat-0.service-apollo-meta-server-fat:8080/eureka/,http://statefulset-apollo-config-server-fat-1.service-apollo-meta-server-fat:8080/eureka/ - ---- -kind: Service -apiVersion: v1 -metadata: - namespace: sre - name: service-apollo-admin-server-fat - labels: - app: service-apollo-admin-server-fat -spec: - ports: - - protocol: TCP - port: 8090 - targetPort: 8090 - selector: - app: pod-apollo-admin-server-fat - type: ClusterIP - sessionAffinity: ClientIP - ---- -kind: Deployment -apiVersion: apps/v1 -metadata: - namespace: sre - name: deployment-apollo-admin-server-fat - labels: - app: deployment-apollo-admin-server-fat -spec: - replicas: 2 - selector: - matchLabels: - app: pod-apollo-admin-server-fat - strategy: - rollingUpdate: - maxSurge: 1 - maxUnavailable: 1 - type: RollingUpdate - template: - metadata: - labels: - app: pod-apollo-admin-server-fat - spec: - affinity: - podAntiAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - weight: 100 - podAffinityTerm: - labelSelector: - matchExpressions: - - key: app - operator: In - values: - - pod-apollo-admin-server-fat - topologyKey: kubernetes.io/hostname - - volumes: - - name: volume-configmap-apollo-admin-server-fat - configMap: - name: configmap-apollo-admin-server-fat - items: - - key: application-github.properties - path: application-github.properties - - containers: - - image: apolloconfig/apollo-adminservice:2.0.1 - securityContext: - privileged: true - imagePullPolicy: IfNotPresent - name: container-apollo-admin-server-fat - ports: - - protocol: TCP - containerPort: 8090 - - volumeMounts: - - name: volume-configmap-apollo-admin-server-fat - mountPath: /apollo-adminservice/config/application-github.properties - subPath: application-github.properties - - env: - - name: APOLLO_ADMIN_SERVICE_NAME - value: "service-apollo-admin-server-fat.sre" - - readinessProbe: - tcpSocket: - port: 8090 - initialDelaySeconds: 10 - periodSeconds: 5 - - livenessProbe: - tcpSocket: - port: 8090 - initialDelaySeconds: 120 - periodSeconds: 10 - - dnsPolicy: ClusterFirst - restartPolicy: Always diff --git a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-fat/service-apollo-config-server-fat.yaml b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-fat/service-apollo-config-server-fat.yaml deleted file mode 100755 index fae5495e8e5..00000000000 --- a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-fat/service-apollo-config-server-fat.yaml +++ /dev/null @@ -1,141 +0,0 @@ -# -# Copyright 2022 Apollo Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ---- -# configmap for apollo-config-server-fat -kind: ConfigMap -apiVersion: v1 -metadata: - namespace: sre - name: configmap-apollo-config-server-fat -data: - application-github.properties: | - spring.datasource.url = jdbc:mysql://service-mysql-for-apollo-fat-env.sre:3306/ApolloConfigDB?characterEncoding=utf8 - spring.datasource.username = FillInCorrectUser - spring.datasource.password = FillInCorrectPassword - eureka.service.url = http://statefulset-apollo-config-server-fat-0.service-apollo-meta-server-fat:8080/eureka/,http://statefulset-apollo-config-server-fat-1.service-apollo-meta-server-fat:8080/eureka/ - ---- -kind: Service -apiVersion: v1 -metadata: - namespace: sre - name: service-apollo-meta-server-fat - labels: - app: service-apollo-meta-server-fat -spec: - ports: - - protocol: TCP - port: 8080 - targetPort: 8080 - selector: - app: pod-apollo-config-server-fat - type: ClusterIP - clusterIP: None - sessionAffinity: ClientIP - ---- -kind: Service -apiVersion: v1 -metadata: - namespace: sre - name: service-apollo-config-server-fat - labels: - app: service-apollo-config-server-fat -spec: - ports: - - protocol: TCP - port: 8080 - targetPort: 8080 - nodePort: 30003 - selector: - app: pod-apollo-config-server-fat - type: NodePort - sessionAffinity: ClientIP - ---- -kind: StatefulSet -apiVersion: apps/v1 -metadata: - namespace: sre - name: statefulset-apollo-config-server-fat - labels: - app: statefulset-apollo-config-server-fat -spec: - serviceName: service-apollo-meta-server-fat - replicas: 2 - selector: - matchLabels: - app: pod-apollo-config-server-fat - updateStrategy: - type: RollingUpdate - template: - metadata: - labels: - app: pod-apollo-config-server-fat - spec: - affinity: - podAntiAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - weight: 100 - podAffinityTerm: - labelSelector: - matchExpressions: - - key: app - operator: In - values: - - pod-apollo-config-server-fat - topologyKey: kubernetes.io/hostname - - volumes: - - name: volume-configmap-apollo-config-server-fat - configMap: - name: configmap-apollo-config-server-fat - items: - - key: application-github.properties - path: application-github.properties - - containers: - - image: apolloconfig/apollo-configservice:2.0.1 - securityContext: - privileged: true - imagePullPolicy: IfNotPresent - name: container-apollo-config-server-fat - ports: - - protocol: TCP - containerPort: 8080 - - volumeMounts: - - name: volume-configmap-apollo-config-server-fat - mountPath: /apollo-configservice/config/application-github.properties - subPath: application-github.properties - env: - - name: APOLLO_CONFIG_SERVICE_NAME - value: "service-apollo-config-server-fat.sre" - - readinessProbe: - tcpSocket: - port: 8080 - initialDelaySeconds: 10 - periodSeconds: 5 - - livenessProbe: - tcpSocket: - port: 8080 - initialDelaySeconds: 120 - periodSeconds: 10 - - dnsPolicy: ClusterFirst - restartPolicy: Always diff --git a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-fat/service-mysql-for-apollo-fat-env.yaml b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-fat/service-mysql-for-apollo-fat-env.yaml deleted file mode 100755 index 08715055209..00000000000 --- a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-fat/service-mysql-for-apollo-fat-env.yaml +++ /dev/null @@ -1,43 +0,0 @@ -# -# Copyright 2022 Apollo Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ---- -kind: Service -apiVersion: v1 -metadata: - namespace: sre - name: service-mysql-for-apollo-fat-env - labels: - app: service-mysql-for-apollo-fat-env -spec: - ports: - - protocol: TCP - port: 3306 - targetPort: 3306 - type: ClusterIP - sessionAffinity: None - ---- -kind: Endpoints -apiVersion: v1 -metadata: - namespace: sre - name: service-mysql-for-apollo-fat-env -subsets: - - addresses: - - ip: your-mysql-addresses - ports: - - protocol: TCP - port: 3306 \ No newline at end of file diff --git a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-prod/service-apollo-admin-server-prod.yaml b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-prod/service-apollo-admin-server-prod.yaml deleted file mode 100755 index d696b016bf0..00000000000 --- a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-prod/service-apollo-admin-server-prod.yaml +++ /dev/null @@ -1,124 +0,0 @@ -# -# Copyright 2022 Apollo Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ---- -# configmap for apollo-admin-server-prod -kind: ConfigMap -apiVersion: v1 -metadata: - namespace: sre - name: configmap-apollo-admin-server-prod -data: - application-github.properties: | - spring.datasource.url = jdbc:mysql://service-mysql-for-apollo-prod-env.sre:3306/ApolloConfigDB?characterEncoding=utf8 - spring.datasource.username = FillInCorrectUser - spring.datasource.password = FillInCorrectPassword - eureka.service.url = http://statefulset-apollo-config-server-prod-0.service-apollo-meta-server-prod:8080/eureka/,http://statefulset-apollo-config-server-prod-1.service-apollo-meta-server-prod:8080/eureka/ - ---- -kind: Service -apiVersion: v1 -metadata: - namespace: sre - name: service-apollo-admin-server-prod - labels: - app: service-apollo-admin-server-prod -spec: - ports: - - protocol: TCP - port: 8090 - targetPort: 8090 - selector: - app: pod-apollo-admin-server-prod - type: ClusterIP - sessionAffinity: ClientIP - ---- -kind: Deployment -apiVersion: apps/v1 -metadata: - namespace: sre - name: deployment-apollo-admin-server-prod - labels: - app: deployment-apollo-admin-server-prod -spec: - replicas: 2 - selector: - matchLabels: - app: pod-apollo-admin-server-prod - strategy: - rollingUpdate: - maxSurge: 1 - maxUnavailable: 1 - type: RollingUpdate - template: - metadata: - labels: - app: pod-apollo-admin-server-prod - spec: - affinity: - podAntiAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - weight: 100 - podAffinityTerm: - labelSelector: - matchExpressions: - - key: app - operator: In - values: - - pod-apollo-admin-server-prod - topologyKey: kubernetes.io/hostname - - volumes: - - name: volume-configmap-apollo-admin-server-prod - configMap: - name: configmap-apollo-admin-server-prod - items: - - key: application-github.properties - path: application-github.properties - - containers: - - image: apolloconfig/apollo-adminservice:2.0.1 - securityContext: - privileged: true - imagePullPolicy: IfNotPresent - name: container-apollo-admin-server-prod - ports: - - protocol: TCP - containerPort: 8090 - - volumeMounts: - - name: volume-configmap-apollo-admin-server-prod - mountPath: /apollo-adminservice/config/application-github.properties - subPath: application-github.properties - - env: - - name: APOLLO_ADMIN_SERVICE_NAME - value: "service-apollo-admin-server-prod.sre" - - readinessProbe: - tcpSocket: - port: 8090 - initialDelaySeconds: 10 - periodSeconds: 5 - - livenessProbe: - tcpSocket: - port: 8090 - initialDelaySeconds: 120 - periodSeconds: 10 - - dnsPolicy: ClusterFirst - restartPolicy: Always diff --git a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-prod/service-apollo-config-server-prod.yaml b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-prod/service-apollo-config-server-prod.yaml deleted file mode 100755 index e83f01c780a..00000000000 --- a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-prod/service-apollo-config-server-prod.yaml +++ /dev/null @@ -1,141 +0,0 @@ -# -# Copyright 2022 Apollo Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ---- -# configmap for apollo-config-server-prod -kind: ConfigMap -apiVersion: v1 -metadata: - namespace: sre - name: configmap-apollo-config-server-prod -data: - application-github.properties: | - spring.datasource.url = jdbc:mysql://service-mysql-for-apollo-prod-env.sre:3306/ApolloConfigDB?characterEncoding=utf8 - spring.datasource.username = FillInCorrectUser - spring.datasource.password = FillInCorrectPassword - eureka.service.url = http://statefulset-apollo-config-server-prod-0.service-apollo-meta-server-prod:8080/eureka/,http://statefulset-apollo-config-server-prod-1.service-apollo-meta-server-prod:8080/eureka/ - ---- -kind: Service -apiVersion: v1 -metadata: - namespace: sre - name: service-apollo-meta-server-prod - labels: - app: service-apollo-meta-server-prod -spec: - ports: - - protocol: TCP - port: 8080 - targetPort: 8080 - selector: - app: pod-apollo-config-server-prod - type: ClusterIP - clusterIP: None - sessionAffinity: ClientIP - ---- -kind: Service -apiVersion: v1 -metadata: - namespace: sre - name: service-apollo-config-server-prod - labels: - app: service-apollo-config-server-prod -spec: - ports: - - protocol: TCP - port: 8080 - targetPort: 8080 - nodePort: 30005 - selector: - app: pod-apollo-config-server-prod - type: NodePort - sessionAffinity: ClientIP - ---- -kind: StatefulSet -apiVersion: apps/v1 -metadata: - namespace: sre - name: statefulset-apollo-config-server-prod - labels: - app: statefulset-apollo-config-server-prod -spec: - serviceName: service-apollo-meta-server-prod - replicas: 2 - selector: - matchLabels: - app: pod-apollo-config-server-prod - updateStrategy: - type: RollingUpdate - template: - metadata: - labels: - app: pod-apollo-config-server-prod - spec: - affinity: - podAntiAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - weight: 100 - podAffinityTerm: - labelSelector: - matchExpressions: - - key: app - operator: In - values: - - pod-apollo-config-server-prod - topologyKey: kubernetes.io/hostname - - volumes: - - name: volume-configmap-apollo-config-server-prod - configMap: - name: configmap-apollo-config-server-prod - items: - - key: application-github.properties - path: application-github.properties - - containers: - - image: apolloconfig/apollo-configservice:2.0.1 - securityContext: - privileged: true - imagePullPolicy: IfNotPresent - name: container-apollo-config-server-prod - ports: - - protocol: TCP - containerPort: 8080 - - volumeMounts: - - name: volume-configmap-apollo-config-server-prod - mountPath: /apollo-configservice/config/application-github.properties - subPath: application-github.properties - env: - - name: APOLLO_CONFIG_SERVICE_NAME - value: "service-apollo-config-server-prod.sre" - - readinessProbe: - tcpSocket: - port: 8080 - initialDelaySeconds: 10 - periodSeconds: 5 - - livenessProbe: - tcpSocket: - port: 8080 - initialDelaySeconds: 120 - periodSeconds: 10 - - dnsPolicy: ClusterFirst - restartPolicy: Always diff --git a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-prod/service-mysql-for-apollo-prod-env.yaml b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-prod/service-mysql-for-apollo-prod-env.yaml deleted file mode 100755 index 3350843ef0d..00000000000 --- a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-prod/service-mysql-for-apollo-prod-env.yaml +++ /dev/null @@ -1,43 +0,0 @@ -# -# Copyright 2022 Apollo Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ---- -kind: Service -apiVersion: v1 -metadata: - namespace: sre - name: service-mysql-for-apollo-prod-env - labels: - app: service-mysql-for-apollo-prod-env -spec: - ports: - - protocol: TCP - port: 3306 - targetPort: 3306 - type: ClusterIP - sessionAffinity: None - ---- -kind: Endpoints -apiVersion: v1 -metadata: - namespace: sre - name: service-mysql-for-apollo-prod-env -subsets: - - addresses: - - ip: your-mysql-addresses - ports: - - protocol: TCP - port: 3306 \ No newline at end of file diff --git a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-uat/service-apollo-admin-server-uat.yaml b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-uat/service-apollo-admin-server-uat.yaml deleted file mode 100755 index a29836d41d6..00000000000 --- a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-uat/service-apollo-admin-server-uat.yaml +++ /dev/null @@ -1,122 +0,0 @@ -# -# Copyright 2022 Apollo Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ---- -# configmap for apollo-admin-server-uat -kind: ConfigMap -apiVersion: v1 -metadata: - namespace: sre - name: configmap-apollo-admin-server-uat -data: - application-github.properties: | - spring.datasource.url = jdbc:mysql://service-mysql-for-apollo-uat-env.sre:3306/ApolloConfigDB?characterEncoding=utf8 - spring.datasource.username = FillInCorrectUser - spring.datasource.password = FillInCorrectPassword - eureka.service.url = http://statefulset-apollo-config-server-uat-0.service-apollo-meta-server-uat:8080/eureka/,http://statefulset-apollo-config-server-uat-1.service-apollo-meta-server-uat:8080/eureka/ - ---- -kind: Service -apiVersion: v1 -metadata: - namespace: sre - name: service-apollo-admin-server-uat - labels: - app: service-apollo-admin-server-uat -spec: - ports: - - protocol: TCP - port: 8090 - targetPort: 8090 - selector: - app: pod-apollo-admin-server-uat - type: ClusterIP - sessionAffinity: ClientIP - ---- -kind: Deployment -apiVersion: apps/v1 -metadata: - namespace: sre - name: deployment-apollo-admin-server-uat - labels: - app: deployment-apollo-admin-server-uat -spec: - replicas: 2 - selector: - matchLabels: - app: pod-apollo-admin-server-uat - strategy: - rollingUpdate: - maxSurge: 1 - maxUnavailable: 1 - type: RollingUpdate - template: - metadata: - labels: - app: pod-apollo-admin-server-uat - spec: - affinity: - podAntiAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - weight: 100 - podAffinityTerm: - labelSelector: - matchExpressions: - - key: app - operator: In - values: - - pod-apollo-admin-server-uat - topologyKey: kubernetes.io/hostname - - volumes: - - name: volume-configmap-apollo-admin-server-uat - configMap: - name: configmap-apollo-admin-server-uat - items: - - key: application-github.properties - path: application-github.properties - - containers: - - image: apolloconfig/apollo-adminservice:2.0.1 - imagePullPolicy: IfNotPresent - name: container-apollo-admin-server-uat - ports: - - protocol: TCP - containerPort: 8090 - - volumeMounts: - - name: volume-configmap-apollo-admin-server-uat - mountPath: /apollo-adminservice/config/application-github.properties - subPath: application-github.properties - - env: - - name: APOLLO_ADMIN_SERVICE_NAME - value: "service-apollo-admin-server-uat.sre" - - readinessProbe: - tcpSocket: - port: 8090 - initialDelaySeconds: 10 - periodSeconds: 5 - - livenessProbe: - tcpSocket: - port: 8090 - initialDelaySeconds: 120 - periodSeconds: 10 - - dnsPolicy: ClusterFirst - restartPolicy: Always diff --git a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-uat/service-apollo-config-server-uat.yaml b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-uat/service-apollo-config-server-uat.yaml deleted file mode 100755 index 94eff052229..00000000000 --- a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-uat/service-apollo-config-server-uat.yaml +++ /dev/null @@ -1,141 +0,0 @@ -# -# Copyright 2022 Apollo Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ---- -# configmap for apollo-config-server-uat -kind: ConfigMap -apiVersion: v1 -metadata: - namespace: sre - name: configmap-apollo-config-server-uat -data: - application-github.properties: | - spring.datasource.url = jdbc:mysql://service-mysql-for-apollo-uat-env.sre:3306/ApolloConfigDB?characterEncoding=utf8 - spring.datasource.username = FillInCorrectUser - spring.datasource.password = FillInCorrectPassword - eureka.service.url = http://statefulset-apollo-config-server-uat-0.service-apollo-meta-server-uat:8080/eureka/,http://statefulset-apollo-config-server-uat-1.service-apollo-meta-server-uat:8080/eureka/ - ---- -kind: Service -apiVersion: v1 -metadata: - namespace: sre - name: service-apollo-meta-server-uat - labels: - app: service-apollo-meta-server-uat -spec: - ports: - - protocol: TCP - port: 8080 - targetPort: 8080 - selector: - app: pod-apollo-config-server-uat - type: ClusterIP - clusterIP: None - sessionAffinity: ClientIP - ---- -kind: Service -apiVersion: v1 -metadata: - namespace: sre - name: service-apollo-config-server-uat - labels: - app: service-apollo-config-server-uat -spec: - ports: - - protocol: TCP - port: 8080 - targetPort: 8080 - nodePort: 30004 - selector: - app: pod-apollo-config-server-uat - type: NodePort - sessionAffinity: ClientIP - ---- -kind: StatefulSet -apiVersion: apps/v1 -metadata: - namespace: sre - name: statefulset-apollo-config-server-uat - labels: - app: statefulset-apollo-config-server-uat -spec: - serviceName: service-apollo-meta-server-uat - replicas: 2 - selector: - matchLabels: - app: pod-apollo-config-server-uat - updateStrategy: - type: RollingUpdate - template: - metadata: - labels: - app: pod-apollo-config-server-uat - spec: - affinity: - podAntiAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - weight: 100 - podAffinityTerm: - labelSelector: - matchExpressions: - - key: app - operator: In - values: - - pod-apollo-config-server-uat - topologyKey: kubernetes.io/hostname - - volumes: - - name: volume-configmap-apollo-config-server-uat - configMap: - name: configmap-apollo-config-server-uat - items: - - key: application-github.properties - path: application-github.properties - - containers: - - image: apolloconfig/apollo-configservice:2.0.1 - securityContext: - privileged: true - imagePullPolicy: IfNotPresent - name: container-apollo-config-server-uat - ports: - - protocol: TCP - containerPort: 8080 - - volumeMounts: - - name: volume-configmap-apollo-config-server-uat - mountPath: /apollo-configservice/config/application-github.properties - subPath: application-github.properties - env: - - name: APOLLO_CONFIG_SERVICE_NAME - value: "service-apollo-config-server-uat.sre" - - readinessProbe: - tcpSocket: - port: 8080 - initialDelaySeconds: 10 - periodSeconds: 5 - - livenessProbe: - tcpSocket: - port: 8080 - initialDelaySeconds: 120 - periodSeconds: 15 - - dnsPolicy: ClusterFirst - restartPolicy: Always diff --git a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-uat/service-mysql-for-apollo-uat-env.yaml b/scripts/apollo-on-kubernetes/kubernetes/apollo-env-uat/service-mysql-for-apollo-uat-env.yaml deleted file mode 100755 index bafb71c2188..00000000000 --- a/scripts/apollo-on-kubernetes/kubernetes/apollo-env-uat/service-mysql-for-apollo-uat-env.yaml +++ /dev/null @@ -1,43 +0,0 @@ -# -# Copyright 2022 Apollo Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ---- -kind: Service -apiVersion: v1 -metadata: - namespace: sre - name: service-mysql-for-apollo-uat-env - labels: - app: service-mysql-for-apollo-uat-env -spec: - ports: - - protocol: TCP - port: 3306 - targetPort: 3306 - type: ClusterIP - sessionAffinity: None - ---- -kind: Endpoints -apiVersion: v1 -metadata: - namespace: sre - name: service-mysql-for-apollo-uat-env -subsets: - - addresses: - - ip: your-mysql-addresses - ports: - - protocol: TCP - port: 3306 \ No newline at end of file diff --git a/scripts/apollo-on-kubernetes/kubernetes/kubectl-apply.sh b/scripts/apollo-on-kubernetes/kubernetes/kubectl-apply.sh deleted file mode 100755 index d8f134414bf..00000000000 --- a/scripts/apollo-on-kubernetes/kubernetes/kubectl-apply.sh +++ /dev/null @@ -1,40 +0,0 @@ -# -# Copyright 2022 Apollo Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# create namespace -kubectl create namespace sre - -# dev-env -kubectl apply -f apollo-env-dev/service-mysql-for-apollo-dev-env.yaml --record && \ -kubectl apply -f apollo-env-dev/service-apollo-config-server-dev.yaml --record && \ -kubectl apply -f apollo-env-dev/service-apollo-admin-server-dev.yaml --record - -# fat-env -kubectl apply -f apollo-env-fat/service-mysql-for-apollo-fat-env.yaml --record && \ -kubectl apply -f apollo-env-fat/service-apollo-config-server-fat.yaml --record && \ -kubectl apply -f apollo-env-fat/service-apollo-admin-server-fat.yaml --record - -# uat-env -kubectl apply -f apollo-env-uat/service-mysql-for-apollo-uat-env.yaml --record && \ -kubectl apply -f apollo-env-uat/service-apollo-config-server-uat.yaml --record && \ -kubectl apply -f apollo-env-uat/service-apollo-admin-server-uat.yaml --record - -# prod-env -kubectl apply -f apollo-env-prod/service-mysql-for-apollo-prod-env.yaml --record && \ -kubectl apply -f apollo-env-prod/service-apollo-config-server-prod.yaml --record && \ -kubectl apply -f apollo-env-prod/service-apollo-admin-server-prod.yaml --record - -# portal -kubectl apply -f service-apollo-portal-server.yaml --record diff --git a/scripts/apollo-on-kubernetes/kubernetes/service-apollo-portal-server.yaml b/scripts/apollo-on-kubernetes/kubernetes/service-apollo-portal-server.yaml deleted file mode 100755 index 7aea48601f1..00000000000 --- a/scripts/apollo-on-kubernetes/kubernetes/service-apollo-portal-server.yaml +++ /dev/null @@ -1,170 +0,0 @@ -# -# Copyright 2022 Apollo Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ---- -# 为外部 mysql 服务设置 service -kind: Service -apiVersion: v1 -metadata: - namespace: sre - name: service-mysql-for-portal-server - labels: - app: service-mysql-for-portal-server -spec: - ports: - - protocol: TCP - port: 3306 - targetPort: 3306 - type: ClusterIP - sessionAffinity: None ---- -kind: Endpoints -apiVersion: v1 -metadata: - namespace: sre - name: service-mysql-for-portal-server -subsets: - - addresses: - # 更改为你的 mysql addresses, 例如 1.1.1.1 - - ip: your-mysql-addresses - ports: - - protocol: TCP - port: 3306 - ---- -# configmap for apollo-portal-server -kind: ConfigMap -apiVersion: v1 -metadata: - namespace: sre - name: configmap-apollo-portal-server -data: - application-github.properties: | - spring.datasource.url = jdbc:mysql://service-mysql-for-portal-server.sre:3306/ApolloPortalDB?characterEncoding=utf8 - # mysql username - spring.datasource.username = FillInCorrectUser - # mysql password - spring.datasource.password = FillInCorrectPassword - # enabled environments - apollo.portal.envs = dev,fat,uat,pro - apollo-env.properties: | - dev.meta=http://service-apollo-config-server-dev.sre:8080 - fat.meta=http://service-apollo-config-server-fat.sre:8080 - uat.meta=http://service-apollo-config-server-uat.sre:8080 - pro.meta=http://service-apollo-config-server-prod.sre:8080 - ---- -kind: Service -apiVersion: v1 -metadata: - namespace: sre - name: service-apollo-portal-server - labels: - app: service-apollo-portal-server -spec: - ports: - - protocol: TCP - port: 8070 - targetPort: 8070 - nodePort: 30001 - selector: - app: pod-apollo-portal-server - type: NodePort - # portal session 保持 - sessionAffinity: ClientIP - ---- -kind: Deployment -apiVersion: apps/v1 -metadata: - namespace: sre - name: deployment-apollo-portal-server - labels: - app: deployment-apollo-portal-server -spec: - # 2 个实例 - replicas: 2 - selector: - matchLabels: - app: pod-apollo-portal-server - strategy: - rollingUpdate: - maxSurge: 1 - maxUnavailable: 1 - type: RollingUpdate - template: - metadata: - labels: - app: pod-apollo-portal-server - spec: - affinity: - podAntiAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - weight: 100 - podAffinityTerm: - labelSelector: - matchExpressions: - - key: app - operator: In - values: - - pod-apollo-portal-server - topologyKey: kubernetes.io/hostname - - volumes: - - name: volume-configmap-apollo-portal-server - configMap: - name: configmap-apollo-portal-server - items: - - key: application-github.properties - path: application-github.properties - - key: apollo-env.properties - path: apollo-env.properties - containers: - - image: apolloconfig/apollo-portal:2.0.1 - securityContext: - privileged: true - imagePullPolicy: IfNotPresent - name: container-apollo-portal-server - ports: - - protocol: TCP - containerPort: 8070 - - volumeMounts: - - name: volume-configmap-apollo-portal-server - mountPath: /apollo-portal/config/application-github.properties - subPath: application-github.properties - - name: volume-configmap-apollo-portal-server - mountPath: /apollo-portal/config/apollo-env.properties - subPath: apollo-env.properties - - env: - - name: APOLLO_PORTAL_SERVICE_NAME - value: "service-apollo-portal-server.sre" - - readinessProbe: - tcpSocket: - port: 8070 - initialDelaySeconds: 10 - periodSeconds: 5 - - livenessProbe: - tcpSocket: - port: 8070 - # 120s 内, server 未启动则重启 container - initialDelaySeconds: 120 - periodSeconds: 15 - - dnsPolicy: ClusterFirst - restartPolicy: Always