Menggunakan penampung sidecar di Kubernetes

Jika database Anda berjalan di cluster Kubernetes, Anda dapat menambahkan penampung sidecar ke cluster database menggunakan operator Kubernetes AlloyDB Omni. Container sidecar operator AlloyDB Omni adalah container Kubernetes reguler yang berjalan secara independen bersama container aplikasi utama dalam Pod yang sama. Anda dapat menggunakan penampung sidecar ini untuk melayani permintaan pemantauan, logging, dan pelacakan aplikasi.

Penampung sidecar operator AlloyDB Omni berbeda dengan penampung sidecar bawaan Kubernetes.

Untuk menambahkan penampung sidecar secara manual ke penginstalan AlloyDB Omni yang ada, Anda membuat resource kustom sidecar (CR) dan menambahkannya ke cluster database.

Membuat CR sidecar

  1. Terapkan manifes berikut:

    apiVersion: alloydbomni.dbadmin.goog/v1
    kind: Sidecar
    metadata:
      name: SIDECAR_CR_NAME
    spec:
      sidecars:
      - image: CONTAINER_IMAGE
        command: ["CONTAINER_COMMAND"]
        args: ["CONTAINER_ARGS"]
        name: CONTAINER_NAME
    

    Ganti variabel berikut:

    • SIDECAR_CR_NAME: nama untuk penampung sidecar Anda.
    • CONTAINER_IMAGE: nama file image yang akan berjalan di penampung sidecar Anda. Contoh, busybox.
    • CONTAINER_COMMAND: perintah untuk penampung yang berjalan di Pod. Perintah ini dapat berupa daftar string yang diapit tanda petik. Untuk mengetahui informasi selengkapnya, lihat Menentukan perintah dan argumen saat membuat Pod.
    • CONTAINER_ARGS: argumen untuk CONTAINER_COMMAND.
    • CONTAINER_NAME: nama penampung. Anda dapat memiliki beberapa penampung di CR sidecar yang sama, dan setiap penampung memiliki nama, image, perintah, dan argumen penampung yang berbeda.
  2. Untuk memverifikasi bahwa CR sidecar telah dibuat, jalankan perintah berikut:

    kubectl describe Sidecar/SIDECAR_CR_NAME

    Outputnya mirip dengan hal berikut ini:

    Name:  SIDECAR_CR_NAME
    Labels:       <none>
    Annotations:  <none>
    API Version:  alloydbomni.dbadmin.goog/v1
    Kind:         Sidecar
    Metadata:
      Creation Timestamp:  2024-04-15T21:49:00Z
      Finalizers:
        sidecars.dbadmin.goog/finalizer
      Generation:        2
      Resource Version:  2561336
      UID:               e57f2e13-20c5-4905-b13b-39203bab36b4
    Spec:
      Sidecars:
        Args:
          CONTAINER_ARGS
        Command:
          CONTAINER_COMMAND
        Image:  CONTAINER_IMAGE
        Name:   CONTAINER_NAME
        Resources:
    Status:
      Observed Generation:  2
      Reconciled:           true
    Events:                 <none>
    

Mendaftarkan penampung sidecar

Untuk mendaftarkan nama penampung sidecar ke cluster database Anda, gunakan perintah berikut untuk menerapkan spesifikasi yang diperbarui:

kubectl patch dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -p '{"spec":{"primarySpec":{"sidecarRef":{"name":"SIDECAR_CR_NAME"}}}}' --type=merge

Ganti variabel berikut:

  • DB_CLUSTER_NAME: nama cluster database Anda.
  • SIDECAR_CR_NAME: nama untuk penampung sidecar Anda.

Mengakses log dari penampung sidecar

  1. Buat, atau ubah penampung sidecar yang ada sehingga spec.sidecars.volumeMounts.name ditetapkan ke obsdisk dan spec.sidecars.volumeMounts.mountPath ke jalur yang terlihat dalam penampung sidecar.

      apiVersion: alloydbomni.dbadmin.goog/v1
      kind: Sidecar
      metadata:
        name: SIDECAR_CR_NAME
      spec:
        sidecars:
        - image: CONTAINER_IMAGE
          command: ["CONTAINER_COMMAND"]
          args: ["CONTAINER_ARGS"]
          name: CONTAINER_NAME
          volumeMounts:
            - name: obsdisk
              mountPath: LOGS_PATH
    

    Ganti kode berikut:

    • SIDECAR_CR_NAME: nama untuk penampung sidecar Anda.
    • CONTAINER_IMAGE: nama file image yang akan dijalankan di penampung sidecar Anda. Contoh, busybox.
    • CONTAINER_COMMAND: perintah untuk penampung yang berjalan di Pod. Perintah ini dapat berupa daftar string yang diapit tanda petik. Untuk mengetahui informasi selengkapnya, lihat Menentukan perintah dan argumen saat membuat Pod.
    • CONTAINER_ARGS: argumen untuk CONTAINER_COMMAND.
    • CONTAINER_NAME: nama penampung. Anda dapat memiliki beberapa penampung di CR sidecar yang sama, dan setiap penampung memiliki nama, image, perintah, dan argumen penampung yang berbeda.
    • LOGS_PATH: jalur dalam penampung sidecar yang akan menjadi output log AlloyDB Omni.
  2. Daftarkan penampung sidecar baru atau yang diubah.

Langkah berikutnya