Peta dunia

 

EN: Read in English

Dunia K7: Pandu Sendiri

GitOps: papan pesanan ialah repo

Anda akan belajar: empat peraturan GitOps, dan kenapa Git patut pandu kluster anda.

Teks BM belum disemak oleh penutur asli.

Disemak dengan Kubernetes 1.37 pada 31 Okt 2026

Masalahnya

Anda di sini: kluster kind-dev namespace default
Deployment shop tunjuk 1/1 sedia. Sejarahnya ada satu revision, tanpa nota tentang siapa yang mengubahnya. Output terminal: $ kubectl get deployment shop NAME READY UP-TO-DATE AVAILABLE AGE shop 1/1 1 1 37s $ kubectl rollout history deployment/shop deployment.apps/shop REVISION CHANGE-CAUSE 1 <none>

Fail itu minta 3 dulang. Kluster jalankan 1. Seseorang taip arahan pukul 2 pagi. Siapa? Kenapa? Kluster tak simpan sebarang nota.

Tengok

Ketik setiap titik pada garis masa.

Tekan setiap peraturan. Bersama-sama, ia dipanggil GitOps: Git jadi sumber kebenaran; kluster ikut apa yang ada dalam Git.: papan pesanan ialah repo Git.

Cuba

Waktu puncak hampir tiba. Tukar pesanan dalam Git, bukan dalam kluster. Tetapkan replicas kepada 4, kemudian commit.

Tukar satu baris dalam Git dan commit. Lihat kluster mengikutnya.

Git (papan pesanan)

apps/shop/deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
name: shop
spec:
replicas: 3
# selector dan template: sama seperti tadi
image:
Tunjuk seluruh fail
apiVersion: apps/v1
kind: Deployment
metadata:
  name: shop
  namespace: shop
spec:
  replicas: 3
  selector:
    matchLabels:
      app: shop
  template:
    metadata:
      labels:
        app: shop
    spec:
      containers:
        - name: web
          image: ghcr.io/kedai-kancil/shop:1.4.0

Commit

  1. f89a8e9 Add shopdalam kluster

Kluster · namespace shop

Sync: SyncedHealth: Healthy

Deployment shop: 3/3 sedia · image 1.4.0

Perubahan manual (drift)
syncPolicy:
  automated:
    selfHeal: true
Tunjuk Application Argo CD
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: shop
  namespace: argocd
spec:
  project: default
  source:
    repoURL: "https://github.com/kedai-kancil/gitops.git"
    path: apps/shop
    targetRevision: main
  destination:
    server: "https://kubernetes.default.svc"
    namespace: shop
  syncPolicy:
    automated:
      selfHeal: true
Tiada kerja. Git dan kluster sama.

Cuba

Yang mana ikut peraturan GitOps?

Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.

      Teka

      Git tulis 3 dulang. Kluster ada 2. Apa pembantu GitOps buat?

      Pilih satu jawapan.

      Semak

      Anda mahu 5 dulang. Selepas edit fail, bina cara GitOps untuk memintanya.

      Ketik kepingan ikut turutan yang betul.

      …

      Anda berjaya!

      Kini anda boleh terangkan GitOps dengan empat peraturannya.

      Nak tahu lebih (pilihan)

      GitOps juga mudahkan undur: git revert kembalikan pesanan lama. Pembantu itu ialah controller, sama macam controller Deployment, cuma ia pantau Git. Latihan sebenar (pilihan): baca empat prinsip di opengitops.dev. Kemudian lihat repo Kedai Kancil anda. Fail mana yang dah terangkan apa yang anda mahu?