From a6ee514cd4cd3981c47882a9f3f19c81f0f09864 Mon Sep 17 00:00:00 2001 From: steve jobs <6516587@gmail.com> Date: Fri, 27 Sep 2024 11:03:18 +0900 Subject: [PATCH] =?UTF-8?q?Kubernetes=20v1.28=20=EA=B8=B0=EC=A4=80?= =?UTF-8?q?=EC=9C=BC=EB=A1=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- k8s/environments/databases/mysql/pv.yaml | 19 ++++++++++++++++++ .../databases/mysql/statefulset.yaml | 2 +- k8s/environments/jenkins/ingress.yaml | 18 ----------------- k8s/environments/jenkins/ingress/ingress.yaml | 20 +++++++++++++++++++ k8s/environments/jenkins/namespace.yaml | 4 ++++ k8s/environments/jenkins/pv.yaml | 19 ++++++++++++++++++ k8s/environments/jenkins/role.yaml | 15 ++++++++++++++ k8s/environments/jenkins/rolebinding.yaml | 13 ++++++++++++ .../logging/elk/kibana/ingress/ingress.yaml | 10 ++++++---- .../rabbitmq/ingress/ingress.yaml | 10 ++++++---- k8s/environments/zipkin/ingress/ingress.yaml | 11 ++++++---- 11 files changed, 110 insertions(+), 31 deletions(-) create mode 100644 k8s/environments/databases/mysql/pv.yaml delete mode 100644 k8s/environments/jenkins/ingress.yaml create mode 100644 k8s/environments/jenkins/ingress/ingress.yaml create mode 100644 k8s/environments/jenkins/namespace.yaml create mode 100644 k8s/environments/jenkins/pv.yaml create mode 100644 k8s/environments/jenkins/role.yaml create mode 100644 k8s/environments/jenkins/rolebinding.yaml diff --git a/k8s/environments/databases/mysql/pv.yaml b/k8s/environments/databases/mysql/pv.yaml new file mode 100644 index 0000000..ae5c8b0 --- /dev/null +++ b/k8s/environments/databases/mysql/pv.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: mysql-pv + labels: + env: production + tier: database + app: mysql + name: mysql-pv +spec: + capacity: + storage: 5Gi + accessModes: + - ReadWriteMany + storageClassName: nfs + persistentVolumeReclaimPolicy: Retain + nfs: + path: /srv/nfs + server: 192.168.56.21 diff --git a/k8s/environments/databases/mysql/statefulset.yaml b/k8s/environments/databases/mysql/statefulset.yaml index 8dd2f00..c0a9572 100644 --- a/k8s/environments/databases/mysql/statefulset.yaml +++ b/k8s/environments/databases/mysql/statefulset.yaml @@ -32,7 +32,7 @@ spec: - "-c" - | set -ex - [[ `hostname` =~ -([0-9]+)$ ]] || exit 1 + [[ $HOSTNAME =~ -([0-9]+)$ ]] || exit 1 ordinal=${BASH_REMATCH[1]} echo [mysqld] > /mnt/conf.d/server-id.cnf echo server-id=$((100 + $ordinal)) >> /mnt/conf.d/server-id.cnf diff --git a/k8s/environments/jenkins/ingress.yaml b/k8s/environments/jenkins/ingress.yaml deleted file mode 100644 index 77a332b..0000000 --- a/k8s/environments/jenkins/ingress.yaml +++ /dev/null @@ -1,18 +0,0 @@ -apiVersion: networking.k8s.io/v1beta1 -kind: Ingress -metadata: - name: jenkins-ingress - labels: - env: production - tier: cicd - app: jenkins - name: jenkins-ingress -spec: - rules: - - host: <젠킨스 도메인> # TODO - http: - paths: - - path: / - backend: - serviceName: jenkins - servicePort: 8080 \ No newline at end of file diff --git a/k8s/environments/jenkins/ingress/ingress.yaml b/k8s/environments/jenkins/ingress/ingress.yaml new file mode 100644 index 0000000..0adcacd --- /dev/null +++ b/k8s/environments/jenkins/ingress/ingress.yaml @@ -0,0 +1,20 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: jenkins-ingress + labels: + env: production + tier: cicd + app: jenkins +spec: + rules: + - host: # TODO + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: jenkins + port: + number: 8080 diff --git a/k8s/environments/jenkins/namespace.yaml b/k8s/environments/jenkins/namespace.yaml new file mode 100644 index 0000000..5eb2c27 --- /dev/null +++ b/k8s/environments/jenkins/namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: jenkins diff --git a/k8s/environments/jenkins/pv.yaml b/k8s/environments/jenkins/pv.yaml new file mode 100644 index 0000000..7ffc217 --- /dev/null +++ b/k8s/environments/jenkins/pv.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: jenkins-pv + labels: + env: production + tier: cicd + app: jenkins + name: jenkins-pv +spec: + capacity: + storage: 5Gi + accessModes: + - ReadWriteMany + storageClassName: nfs + persistentVolumeReclaimPolicy: Retain + nfs: + path: /srv/nfs + server: 192.168.56.21 diff --git a/k8s/environments/jenkins/role.yaml b/k8s/environments/jenkins/role.yaml new file mode 100644 index 0000000..9caa52a --- /dev/null +++ b/k8s/environments/jenkins/role.yaml @@ -0,0 +1,15 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + namespace: jenkins + name: jenkins-role +rules: +- apiGroups: ["networking.k8s.io"] + resources: ["ingresses"] + verbs: ["get", "create", "update", "delete"] +- apiGroups: [""] + resources: ["services"] + verbs: ["get", "create", "update", "delete"] +- apiGroups: ["apps"] + resources: ["deployments"] + verbs: ["get", "create", "update", "delete", "patch"] diff --git a/k8s/environments/jenkins/rolebinding.yaml b/k8s/environments/jenkins/rolebinding.yaml new file mode 100644 index 0000000..e42993b --- /dev/null +++ b/k8s/environments/jenkins/rolebinding.yaml @@ -0,0 +1,13 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + namespace: jenkins + name: jenkins-rolebinding +subjects: +- kind: ServiceAccount + name: jenkins + namespace: default +roleRef: + kind: Role + name: jenkins-role + apiGroup: rbac.authorization.k8s.io diff --git a/k8s/environments/logging/elk/kibana/ingress/ingress.yaml b/k8s/environments/logging/elk/kibana/ingress/ingress.yaml index 648650b..ccf9d82 100644 --- a/k8s/environments/logging/elk/kibana/ingress/ingress.yaml +++ b/k8s/environments/logging/elk/kibana/ingress/ingress.yaml @@ -1,4 +1,4 @@ -apiVersion: networking.k8s.io/v1beta1 +apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: kibana-ingress @@ -6,13 +6,15 @@ metadata: env: production tier: logging app: kibana - name: kibana-ingress spec: rules: - host: # TODO http: paths: - path: / + pathType: Prefix backend: - serviceName: kibana - servicePort: 5601 \ No newline at end of file + service: + name: kibana + port: + number: 5601 diff --git a/k8s/environments/rabbitmq/ingress/ingress.yaml b/k8s/environments/rabbitmq/ingress/ingress.yaml index 2d36749..a08c9ed 100644 --- a/k8s/environments/rabbitmq/ingress/ingress.yaml +++ b/k8s/environments/rabbitmq/ingress/ingress.yaml @@ -1,4 +1,4 @@ -apiVersion: networking.k8s.io/v1beta1 +apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: rabbitmq-ingress @@ -6,13 +6,15 @@ metadata: env: production tier: backend app: rabbitmq - name: rabbitmq-ingress spec: rules: - host: # TODO http: paths: - path: / + pathType: Prefix backend: - serviceName: rabbitmq - servicePort: 15672 \ No newline at end of file + service: + name: rabbitmq + port: + number: 15672 diff --git a/k8s/environments/zipkin/ingress/ingress.yaml b/k8s/environments/zipkin/ingress/ingress.yaml index c90a1de..24d9936 100644 --- a/k8s/environments/zipkin/ingress/ingress.yaml +++ b/k8s/environments/zipkin/ingress/ingress.yaml @@ -1,4 +1,4 @@ -apiVersion: extensions/v1beta1 +apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: zipkin-ingress @@ -6,13 +6,16 @@ metadata: env: production tier: backend app: zipkin - name: zipkin-ingress spec: rules: - host: # TODO http: paths: - path: / + pathType: Prefix backend: - serviceName: zipkin - servicePort: 9411 \ No newline at end of file + service: + name: zipkin + port: + number: 9411 +