json-server (helm-charts)

푸르둥개·2022년 12월 2일

json-server (helm-charts)


Chart.yaml

apiVersion: v2
name: jason-server
description: api-gateway
type: application
version: 0.1.0

values.yaml

#DEV values for json-server
#Deployment.yaml
web:
  image: clue/json-server
  tag: latest
#ingress.yaml
ingress:
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/proxy-body-size: 0m
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "300"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "300"
    nginx.ingress.kubernetes.io/proxy-request-buffering: "off"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "300"
rules:
  host: yourdomain.com
tls:
  secretName: yourdomain-sec

deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: json-server-test
  labels:
    app: json-server-test
spec:
  replicas: 1
  selector:
    matchLabels:
      app: json-server-test
  template:
    metadata:
      labels:
        app: json-server-test
    spec:
      nodeSelector:
        JasonServer: in     
      containers:
      - name: json-server-test
        image: {{ .Values.web.image }}:{{ .Values.web.tag }}
        imagePullPolicy: Always
        ports:
        - containerPort: 80
        volumeMounts:
        - name: json-server-test-volume
          mountPath: /data
      volumes:
      - name: json-server-test-volume
        configMap:
          name: json-server-test-config

service.yaml

apiVersion: v1
kind: Service
metadata:
  name: json-server-test
  labels:
    app: json-server-test
spec:
  selector:
    app: json-server-test
  ports:
    - name: json-server-test
      protocol: TCP
      port: 80
      targetPort: 80
      
* configMap.yaml

>apiVersion: v1
kind: ConfigMap
metadata:
  name: json-server-test-config
  labels:
    configmap: json-server-test-config
data:
  db.json: |
    {
      "posts": [
        { "id": 1, "body": "foo" },
        { "id": 2, "body": "bar" }
      ],
      "comments": [
        { "id": 1, "body": "baz", "postId": 1 },
        { "id": 2, "body": "qux", "postId": 2 }
      ]
    }

ingress.yaml

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: json-server-test-ingress
  annotations:
{{ toYaml $.Values.ingress.annotations | indent 4 }}
spec:
  rules:
  - host: {{ .Values.rules.host }}
    http:
      paths:  
      - backend:
          serviceName: json-server-test
          servicePort: 80
  tls:
  - hosts:
    - {{ .Values.rules.host }}
    secretName: {{ .Values.tls.secretName }}

db.json

{
    "posts": [
      { "id": 1, "body": "foo" },
      { "id": 2, "body": "bar" }
    ],
    "comments": [
      { "id": 1, "body": "baz", "postId": 1 },
      { "id": 2, "body": "qux", "postId": 2 }
    ]
  }

profile
DevOps업무중, 개발팀과 운영팀이 알아두면 좋은 정보를 공유합니다.

0개의 댓글