Praktik terbaik untuk Config Connector


Halaman ini menjelaskan praktik terbaik yang harus dipertimbangkan saat menggunakan Konektor Konfigurasi.

Mengelola batas kuota API

Jika mengalami error yang menunjukkan bahwa Anda telah melebihi batas kuota API, mungkin Anda membuat terlalu banyak resource Config Connector dari Jenis yang sama dalam project kuota yang sama. Jika Anda membuat banyak resource, resource tersebut dapat menghasilkan terlalu banyak API permintaan ke endpoint API yang sama karena strategi rekonsiliasi yang digunakan Config Connector.

Salah satu cara untuk menyelesaikan masalah ini adalah dengan meminta penambahan kuota. Selain kuota meningkat, jika Anda telah mengonfirmasi bahwa error kuota disebabkan oleh permintaan GET terhadap resource Google Cloud yang dikelola oleh Config Connector Anda Anda dapat mempertimbangkan salah satu opsi berikut:

Meningkatkan interval rekonsiliasi

Anda dapat menambah waktu mulai dari Config Connector yang merekonsiliasi resource agar tidak mencapai kuota API. Sebaiknya tetapkan rekonsiliasi interval hingga 1 jam.

Untuk meningkatkan interval rekonsiliasi, ikuti langkah-langkah di Mengonfigurasi interval rekonsiliasi.

Bagi resource Anda menjadi beberapa project

Pendekatan ini menyebarkan resource Config Connector di berbagai project secara terprogram. Pendekatan ini berfungsi dengan baik bila menambahkan sumber daya baru, tetapi berisiko untuk membagi resource yang ada karena Anda harus menghapus resource yang ada dan membuatnya kembali di bawah project yang berbeda. Menghapus resource dapat menyebabkan kehilangan data dengan beberapa jenis resource, seperti SpannerInstance atau BigtableTable resource. Anda harus mencadangkan data sebelum menghapusnya.

Untuk membagi resource Config Connector yang ada ke dalam project yang berbeda, selesaikan langkah-langkah berikut:

  1. Tentukan resource Config Connector mana yang akan Anda pindahkan ke berbagai project secara terprogram.
  2. Hapus resource Config Connector. Pastikan anotasi cnrm.cloud.google.com/deletion-policy tidak disetel ke abandon.
  3. Perbarui kolom spec.projectRef atau cnrm.cloud.google.com/project-id dalam konfigurasi YAML dari resource Config Connector yang Anda berencana untuk pindah ke proyek baru.
  4. Berikan akun layanan IAM yang digunakan oleh Config Connector dengan benar pada project baru.
  5. Terapkan konfigurasi YAML yang diperbarui ke membuat resource Config Connector.

Beralih ke mode dengan namespace

Anda dapat mengikat berbagai akun layanan IAM yang dimiliki oleh berbagai Project Google Cloud ke berbagai namespace tempat Config Connector berada diinstal di mode namespace, dan membagi resource ke dalam namespace yang berbeda. Untuk mencapai hal ini, selesaikan langkah-langkah berikut:

  1. Konfigurasikan Config Connector untuk dijalankan dalam mode namespace. Membuat akun layanan IAM baru dari berbagai project, dan mengikatnya ke namespace yang berbeda mengikuti petunjuk untuk mengonfigurasi Config Connector untuk setiap project.

  2. Memberi akun layanan IAM yang baru izin yang sesuai untuk proyek yang berisi sumber daya.

  3. Tentukan resource Config Connector mana yang akan Anda pindahkan ke berbagai namespace.

  4. Memperbarui konfigurasi YAML dari resource Config Connector dan menyetel cnrm.cloud.google.com/deletion-policy anotasi abandon.

  5. Menerapkan konfigurasi YAML yang diperbarui untuk mengupdate Config Connector resource kebijakan penghapusan.

  6. Abaikan resource Config Connector.

  7. Perbarui kolom metadata.namespace dalam konfigurasi YAML Resource Config Connector yang ingin Anda pindahkan ke berbagai namespace.

  8. Terapkan konfigurasi YAML yang diperbarui ke mengakuisisi resource yang ditinggalkan.

Mengelola node pool di cluster GKE

Anda mungkin mengalami error saat membuat cluster dengan menerapkan ContainerCluster di Config Connector, lalu mencoba mengupdate nodeConfig atau kolom terkait node lainnya dengan menerapkan model Konfigurasi ContainerCluster. Error ini disebabkan oleh kolom yang tidak dapat diubah seperti sebagai nodeConfig, nodeConfig.labels, nodeConfig.taint, yang merupakan keterbatasan eksistensi Google Cloud API.

Jika perlu memperbarui kolom ini, Anda dapat menggunakan ContainerNodePool resource untuk mengelola kumpulan node jika kolom ini tidak dapat diubah. Untuk mengelola kumpulan node yang menggunakan resource ContainerNodePool, Anda harus menentukan anotasi cnrm.cloud.google.com/remove-default-node-pool: "true". Ini anotasi menghapus kumpulan node default yang dibuat selama cluster pembuatan konten. Kemudian, untuk membuat kumpulan node terpisah, tentukan kolom nodeConfig di ContainerNodePool, bukan di ContainerCluster. Lihat Contoh resource ContainerNodePool sebagai referensi.

Anda harus menyetel anotasi cnrm.cloud.google.com/state-into-spec: absent untuk resource ContainerCluster dan ContainerNodePool. Ini menghindari potensi kesalahan rekonsiliasi selama interaksi antara pengontrol Config Connector dan API yang mendasarinya.

Contoh berikut menunjukkan ContainerCluster dan ContainerNodePool dengan kumpulan anotasi berikut:

apiVersion: container.cnrm.cloud.google.com/v1beta1
kind: ContainerCluster
metadata:
  name: containercluster-sample
  annotations:
    cnrm.cloud.google.com/remove-default-node-pool: "true"
    cnrm.cloud.google.com/state-into-spec: absent
spec:
  description: A sample cluster.
  location: us-west1
  initialNodeCount: 1
apiVersion: container.cnrm.cloud.google.com/v1beta1
kind: ContainerNodePool
metadata:
  labels:
    label-one: "value-one"
  name: containernodepool-sample
  annotations:
    cnrm.cloud.google.com/state-into-spec: absent
spec:
  location: us-west1
  autoscaling:
    minNodeCount: 1
    maxNodeCount: 3
  nodeConfig:
    machineType: n1-standard-1
    preemptible: false
    oauthScopes:
      - "https://www.googleapis.com/auth/logging.write"
      - "https://www.googleapis.com/auth/monitoring"
  clusterRef:
    name: containercluster-sample