This commit is contained in:
william 2024-06-14 00:17:59 +08:00
parent 92b902ee52
commit a46ea2fa18
45 changed files with 626 additions and 0 deletions

View File

@ -0,0 +1,4 @@
resources:
- mysql-statefulset.yaml
- mysql-service.yaml
- mysql-service-lb.yaml

View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: Service
metadata:
name: mysql-service-lb
spec:
type: LoadBalancer
ports:
- port: 53306
targetPort: 3306
selector:
app: mysql

View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: Service
metadata:
name: mysql-service
spec:
ports:
- port: 3306
name: mysql
clusterIP: None
selector:
app: mysql

View File

@ -0,0 +1,44 @@
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: mysql
spec:
serviceName: "mysql"
replicas: 1
selector:
matchLabels:
app: mysql
template:
metadata:
labels:
app: mysql
spec:
containers:
- name: mysql
image: mysql:5.7
env:
- name: MYSQL_ROOT_PASSWORD
value: "uNejHIFQGJOUtYTmE"
- name: MYSQL_CHARACTER_SET_SERVER
value: "utf8mb4"
- name: MYSQL_COLLATION_SERVER
value: "utf8mb4_unicode_ci"
- name: TZ
value: "Asia/Seoul"
args:
- "--character-set-server=utf8mb4"
- "--collation-server=utf8mb4_unicode_ci"
ports:
- containerPort: 3306
volumeMounts:
- name: mysql-storage
mountPath: /var/lib/mysql
subPath: "mysql"
volumeClaimTemplates:
- metadata:
name: mysql-storage
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 20Gi

View File

@ -0,0 +1,3 @@
resources:
- phpmyadmin-deployment.yaml
- phpmyadmin-service.yaml

View File

@ -0,0 +1,24 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: phpmyadmin
spec:
replicas: 1
selector:
matchLabels:
app: phpmyadmin
template:
metadata:
labels:
app: phpmyadmin
spec:
containers:
- name: phpmyadmin
image: phpmyadmin/phpmyadmin:latest
env:
- name: PMA_HOST
value: "mysql-service"
- name: TZ
value: "Asia/Seoul"
ports:
- containerPort: 80

View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: Service
metadata:
name: phpmyadmin-service
spec:
ports:
- port: 80
targetPort: 80
name: phpmyadmin
selector:
app: phpmyadmin

View File

@ -0,0 +1,28 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: stock2-web-admin
spec:
replicas: 1
selector:
matchLabels:
app: stock2-web-admin
template:
metadata:
labels:
app: stock2-web-admin
spec:
containers:
- name: stock2-web-admin
image: juyoutech/stock2_web_admin:latest
ports:
- containerPort: 80
resources:
requests:
cpu: "0.125"
memory: "125Mi"
limits:
cpu: "0.25"
memory: "250Mi"
imagePullSecrets:
- name: juyoutech-docker-hub-secret

View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: Service
metadata:
name: stock2-web-admin-service
spec:
ports:
- port: 80
targetPort: 80
name: stock2-web-admin
selector:
app: stock2-web-admin

View File

@ -0,0 +1,28 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: stock2-web-agent
spec:
replicas: 1
selector:
matchLabels:
app: stock2-web-agent
template:
metadata:
labels:
app: stock2-web-agent
spec:
containers:
- name: stock2-web-agent
image: juyoutech/stock2_web_agent:latest
ports:
- containerPort: 80
resources:
requests:
cpu: "0.125"
memory: "125Mi"
limits:
cpu: "0.25"
memory: "250Mi"
imagePullSecrets:
- name: juyoutech-docker-hub-secret

View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: Service
metadata:
name: stock2-web-agent-service
spec:
ports:
- port: 80
targetPort: 80
name: stock2-web-agent
selector:
app: stock2-web-agent

View File

@ -0,0 +1,28 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: stock2-java-api
labels:
app: stock2-java-api
spec:
replicas: 1
selector:
matchLabels:
app: stock2-java-api
template:
metadata:
labels:
app: stock2-java-api
spec:
containers:
- name: stock2-java-api
image: juyoutech/stock2_java_api:latest
env:
- name: MARKET_HOST
value: "http://india-stock-market-service:31099"
- name: IS_SCHEDULED
value: "false"
ports:
- containerPort: 8080
imagePullSecrets:
- name: juyoutech-docker-hub-secret

View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: Service
metadata:
name: stock2-java-api-service
spec:
ports:
- port: 80
targetPort: 8080
name: stock2-java-api
selector:
app: stock2-java-api

View File

@ -0,0 +1,28 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: stock2-web-h5
spec:
replicas: 1
selector:
matchLabels:
app: stock2-web-h5
template:
metadata:
labels:
app: stock2-web-h5
spec:
containers:
- name: stock2-web-h5
image: juyoutech/stock2_web_h5:latest
ports:
- containerPort: 80
resources:
requests:
cpu: "0.125"
memory: "125Mi"
limits:
cpu: "0.25"
memory: "250Mi"
imagePullSecrets:
- name: juyoutech-docker-hub-secret

View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: Service
metadata:
name: stock2-web-h5-service
spec:
ports:
- port: 80
targetPort: 80
name: stock2-web-h5
selector:
app: stock2-web-h5

View File

@ -0,0 +1,14 @@
resources:
- ../../secret
- admin-deployment.yaml
- admin-service.yaml
- agent-deployment.yaml
- agent-service.yaml
- api-deployment.yaml
- api-service.yaml
- h5-deployment.yaml
- h5-service.yaml
- market-deployment.yaml
- market-service.yaml
- task-deployment.yaml
- task-service.yaml

View File

@ -0,0 +1,26 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: stock2-java-market
spec:
replicas: 1
selector:
matchLabels:
app: stock2-java-market
template:
metadata:
labels:
app: stock2-java-market
spec:
containers:
- name: stock2-java-market
image: juyoutech/stock2_java_market:latest
env:
- name: MARKET_HOST
value: "http://india-stock-market-service:31099"
- name: IS_SCHEDULED
value: "false"
ports:
- containerPort: 8188
imagePullSecrets:
- name: juyoutech-docker-hub-secret

View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: Service
metadata:
name: stock2-java-market-service
spec:
ports:
- port: 80
targetPort: 8188
name: stock2-java-market
selector:
app: stock2-java-market

View File

@ -0,0 +1,26 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: stock2-java-task
spec:
replicas: 1
selector:
matchLabels:
app: stock2-java-task
template:
metadata:
labels:
app: stock2-java-task
spec:
containers:
- name: stock2-java-task
image: juyoutech/stock2_java_api:latest
env:
- name: MARKET_HOST
value: "http://india-stock-market-service:31099"
- name: IS_SCHEDULED
value: "true"
ports:
- containerPort: 8080
imagePullSecrets:
- name: juyoutech-docker-hub-secret

View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: Service
metadata:
name: stock2-java-task-service
spec:
ports:
- port: 80
targetPort: 8080
name: stock2-java-task
selector:
app: stock2-java-task

View File

@ -0,0 +1,2 @@
resources:
- redis-service-lb.yaml

View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: Service
metadata:
name: redis-service-lb
spec:
type: LoadBalancer # 或者 NodePort
ports:
- port: 56379
targetPort: 6379
selector:
app: redis

View File

@ -0,0 +1,5 @@
resources:
- redis-config.yaml
- redis-statefulset.yaml
- redis-service.yaml
# - redis-service-lb.yaml

View File

@ -0,0 +1,8 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: redis-config
data:
redis.conf: |
bind 0.0.0.0
requirepass a5v8b86P4mVzFlUqJV

View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: Service
metadata:
name: redis-service
spec:
ports:
- port: 6379
name: redis
clusterIP: None
selector:
app: redis

View File

@ -0,0 +1,49 @@
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: redis
spec:
serviceName: "redis"
replicas: 1
selector:
matchLabels:
app: redis
template:
metadata:
labels:
app: redis
spec:
containers:
- name: redis
image: redis:latest
command: [ "redis-server", "/usr/local/etc/redis/redis.conf" ]
ports:
- containerPort: 6379
env:
- name: TZ
value: "Asia/Seoul"
volumeMounts:
- name: redis-config
mountPath: /usr/local/etc/redis/redis.conf
subPath: redis.conf
- name: redis-storage
mountPath: /data/redis
resources:
requests:
cpu: "0.125"
memory: "125Mi"
limits:
cpu: "0.25"
memory: "250Mi"
volumes:
- name: redis-config
configMap:
name: redis-config
volumeClaimTemplates:
- metadata:
name: redis-storage
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 10Gi

View File

@ -0,0 +1,7 @@
apiVersion: v1
data:
.dockerconfigjson: eyJhdXRocyI6eyJodHRwczovL2luZGV4LmRvY2tlci5pby92MS8iOnsidXNlcm5hbWUiOiJqdXlvdXRlY2giLCJwYXNzd29yZCI6ImRja3JfcGF0XzJWeHJjODBzbU5EWERYODdhMmNmNXlOUUlZRSIsImVtYWlsIjoid2lsbGlhbUBqdXlvdTg4LmNvbSIsImF1dGgiOiJhblY1YjNWMFpXTm9PbVJqYTNKZmNHRjBYekpXZUhKak9EQnpiVTVFV0VSWU9EZGhNbU5tTlhsT1VVbFpSUT09In19fQ==
kind: Secret
metadata:
name: juyoutech-docker-hub-secret
type: kubernetes.io/dockerconfigjson

View File

@ -0,0 +1,2 @@
resources:
- juyoutech-docker-hub-secret.yaml

View File

@ -0,0 +1,2 @@
resources:
- kx33-net-cert.yaml

View File

@ -0,0 +1,7 @@
apiVersion: v1
stringData:
qcloud_cert_id: ESqefc6J
kind: Secret
metadata:
name: kx33-net-cert
type: Opaque

View File

@ -0,0 +1,6 @@
resources:
- updater-service-account.yaml
- updater-role.yaml
- updater-role-binding.yaml
- updater-deployment.yaml
- updater-service.yaml

View File

@ -0,0 +1,22 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: k8s-updater
spec:
replicas: 1
selector:
matchLabels:
app: k8s-updater
template:
metadata:
labels:
app: k8s-updater
spec:
serviceAccountName: updater-service-account
containers:
- name: k8s-updater
image: juyoutech/k8s_updater:latest
ports:
- containerPort: 5000
imagePullSecrets:
- name: juyoutech-docker-hub-secret

View File

@ -0,0 +1,11 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: updater-role-binding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: updater-role
subjects:
- kind: ServiceAccount
name: updater-service-account

View File

@ -0,0 +1,8 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: updater-role
rules:
- apiGroups: [ "", "extensions", "apps" ]
resources: [ "deployments", "pods", "pods/log" ]
verbs: [ "get", "list", "watch", "create", "delete", "update", "patch" ]

View File

@ -0,0 +1,4 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: updater-service-account

View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: Service
metadata:
name: k8s-updater-service
spec:
ports:
- port: 80
targetPort: 5000
name: k8s-updater
selector:
app: k8s-updater

5
gpdev/env/mysql.env vendored Normal file
View File

@ -0,0 +1,5 @@
MYSQL_HOST=mysql-service
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASSWORD=uNejHIFQGJOUtYTmE
MYSQL_DB=korea_stock

3
gpdev/env/redis.env vendored Normal file
View File

@ -0,0 +1,3 @@
REDIS_HOST=redis-service
REDIS_PORT=6379
REDIS_PASSWORD=a5v8b86P4mVzFlUqJV

6
gpdev/env/storage.env vendored Normal file
View File

@ -0,0 +1,6 @@
CLOUD_ID=IKIDPhniOp11pOh6IFwQgiV5RatMo48yi8OR
CLOUD_KEY=tdAUZP2Scw52oOn360iEVZR9fy62mJfr
CLOUD_DOMAIN=cos.ap-singapore.myqcloud.com
CLOUD_APP_ID=1321231020
CLOUD_BUCKET=hgdev-1321231020
CLOUD_REGION=ap-singapore

0
gpdev/ingress.yaml Normal file
View File

29
gpdev/kustomization.yaml Normal file
View File

@ -0,0 +1,29 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: gpdev
resources:
- ../base/projects/stock2
- ../base/mysql
- ../base/redis
- ../base/phpmyadmin
- ../base/tls
- ../base/updater
- ingress.yaml
configMapGenerator:
- name: mysql-configmap
envs:
- env/mysql.env
- name: redis-configmap
envs:
- env/redis.env
- name: storage-configmap
envs:
- env/storage.env
patches:
- path: patch/api-deployment_patch.yaml
- path: patch/market-deployment_patch.yaml
- path: patch/task-deployment_patch.yaml
- path: patch/mysql-statefulset_patch.yaml

View File

@ -0,0 +1,19 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: stock2-java-api
spec:
template:
spec:
containers:
- name: stock2-java-api
envFrom:
- configMapRef:
name: mysql-configmap
- configMapRef:
name: redis-configmap
- configMapRef:
name: storage-configmap
env:
- name: TZ
value: "Asia/Shanghai"

View File

@ -0,0 +1,17 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: stock2-java-market
spec:
template:
spec:
containers:
- name: stock2-java-market
envFrom:
- configMapRef:
name: mysql-configmap
- configMapRef:
name: redis-configmap
env:
- name: TZ
value: "Asia/Shanghai"

View File

@ -0,0 +1,12 @@
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: mysql
spec:
template:
spec:
containers:
- name: mysql
env:
- name: TZ
value: "Asia/Shanghai"

View File

@ -0,0 +1,17 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: stock2-java-task
spec:
template:
spec:
containers:
- name: stock2-java-task
envFrom:
- configMapRef:
name: mysql-configmap
- configMapRef:
name: redis-configmap
env:
- name: TZ
value: "Asia/Shanghai"