← Back to list

Github CD Setting

Local link to Kubernetes cluster

Una Chou · 2021-06-25 09:09 · 0 claps · 0.8 min read
#kubernetes #github-deployment
Open on Medium ↗
Wiki topics: ☁️ · DevOps & Cloud 🔓 · Open Source

Github CD Setting

Local link to Kubernetes cluster

$gcloud container clusters get-credentials cluster-id --zone asia-east1-b --project project-id

Setting file

  • ConfigMap.yml
  • service.yml
  • deployment.yml

ConfigMap.yml

apiVersion: v1
kind: ConfigMap
metadata:
  name: dev-data-api-config
  namespace: default
data:
  api.url: |
    STREAMING_API=http://data-api-service

service.yml

apiVersion: v1
kind: Service
metadata:
  name: data-api-service
spec:
  selector:
    app: data-api
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8999

development.yml

  • ConfigMap parameters
apiVersion: apps/v1
kind: Deployment
metadata:
  name: data-api
spec:
  selector:
    matchLabels:
      app: data-api
  replicas: 1
  template:
    metadata:
      labels:
        app: data-api
    spec:
      containers:
      - name: data-api
        image: asia.gcr.io/project-id/data-api:IMAGE_TAG
        ports:
        - containerPort: 8999
        volumeMounts:
          - name: config-volume
            mountPath: /app/config
      volumes:
        - name: config-volume
          configMap:
            name: dev-data-api-config
            items:
              - key: api.url
                path: api_config
  • Secrect config
spec:
  selector:
    matchLabels:
      app: statistic-api
  replicas: 1
  template:
    metadata:
      labels:
        app: statistic-api
    spec:
      containers:
      - name: statistic-api
        image: asia.gcr.io/project-id/statistics-api:IMAGE_TAG
        ports:
        - containerPort: 8080
        volumeMounts:
        - mountPath: /app/.env
          subPath: .env
          name: config-secret
      volumes:
      - secret:
          secretName: myproject-config
          items:
            - key: .env
              path: .env
        name: config-secret
  • create secret

…/…/MyProject

kubectl create secret generic myproject-config --from-file=./.env
$kubectl get pods
$kubectl get services

在本地端直接連到pod

$kubectl port-forward pod-id 8999:8999

메타데이터
post_id
af462cea1fea
slug
github-cd-setting-af462cea1fea
url
https://medium.com/@una-chou/github-cd-setting-af462cea1fea
canonical_url
https://medium.com/@una-chou/github-cd-setting-af462cea1fea
author_url
https://medium.com/@una-chou
status
ok
fetched_at
2026-07-17 11:03:45