Course Content
1. DevOps overview
DevOps là gì
0/1
4. Kubernetes từ cơ bản đến nâng cao
0/20
8. Monitoring, Logging và Tracing
Khóa Học: DevOps Zero to Hero. (Đăng nhập để xem các video 1 cách miễn phí)

Cách đơn giản nhất để đưa 1 environment vào trong container trên k8s.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app-deployment
spec:
  replicas: 2
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
      - name: my-app-container
        image: gitpod/openvscode-server:1.101.1
        env:
        - name: DB_PASSWORD
          value: password-ahihi

Giới thiệu về cách Kubernetes giúp quản lý cấu hình và bảo mật các thông tin quan trọng (secret) trong quá trình triển khai ứng dụng

1) ConfigMap trong Kubernetes

ConfigMap là một công cụ giúp bạn lưu trữ và sử dụng các cấu hình cho ứng dụng mà không cần phải thay đổi mã nguồn của ứng dụng. Cấu hình có thể là các thông số như cổng (port), đường dẫn đến file, hoặc bất kỳ giá trị nào mà ứng dụng của bạn cần.

  • Tạo ConfigMap từ dòng lệnh:
    • kubectl create configmap db-config --from-literal=database-url=http://mydb.com
      
      kubectl get configmap
      
      kubectl describe configmap db-config
    • apiVersion: v1
      kind: ConfigMap
      metadata:
        name: db-config
      data:
        database-url: http://mydb.com
      
  • Tạo ConfigMap từ File:
    • vi schedule.txt
      ##### Content ####
      schedules:
        - name: ping-google
          command: ping 8.8.8.8
      
      #### Command ####
      kubectl create configmap app-config --from-file=schedule.txt
      
      kubectl get configmap
      
      kubectl describe configmap app-config
  • Điều này giúp: “Nhờ vào ConfigMap, chúng ta có thể dễ dàng thay đổi cấu hình mà không cần phải rebuild lại container.

2) Quản lý Secret trong Kubernetes

Secret là công cụ giúp bảo vệ thông tin nhạy cảm như mật khẩu, token, hoặc khóa API. Thay vì lưu trữ các giá trị này trong mã nguồn hoặc ConfigMap (mà có thể dễ dàng bị lộ), Secret giúp mã hóa và bảo mật thông tin đó.

  • Tạo Secret từ dòng lệnh
    • kubectl create secret generic db-password --from-literal=username=myUsername --from-literal=password=mySecretPassword
      
      kubectl get secret
      
      kubectl describe secret db-password
    • apiVersion: v1
      kind: Secret
      metadata:
        name: db-password
      type: Opaque
      data:
        username: bXlVc2VybmFtZQ==
        password: bXlTZWNyZXRQYXNzd29yZA==
0% Complete