Mengakses objek Kubernetes API menggunakan konektor

Cluster Google Kubernetes Engine (GKE) terdiri dari bidang kontrol dan mesin pekerja yang disebut node. Anda dapat menjalankan workload Kubernetes dalam container di cluster GKE. Node adalah mesin pekerja yang menjalankan aplikasi dalam container dan beban kerja lainnya, dan bidang kontrol adalah endpoint terpadu untuk cluster Anda. Untuk mengetahui informasi selengkapnya, lihat Arsitektur cluster GKE.

Server Kubernetes API berjalan di bidang kontrol, sehingga Anda dapat berinteraksi dengan objek Kubernetes di cluster melalui panggilan API Kubernetes. Objek adalah entitas persisten dalam sistem Kubernetes dan merepresentasikan status cluster Anda. Untuk mengetahui informasi selengkapnya, lihat Objek di Kubernetes dan Ringkasan API di dokumentasi Kubernetes, yang menautkan ke halaman "Referensi Kubernetes API".

Dokumen ini menunjukkan cara menggunakan konektor Kubernetes API dalam alur kerja untuk membuat permintaan ke endpoint layanan Kubernetes yang dihosting di bidang kontrol cluster GKE. Misalnya, Anda dapat menggunakan konektor untuk membuat Deployment Kubernetes, menjalankan Tugas, mengelola Pod, atau mengakses aplikasi yang di-deploy melalui proxy. Untuk mengetahui informasi selengkapnya, lihat Ringkasan Konektor API Kubernetes.

Sebelum memulai

Sebelum melanjutkan tugas dalam dokumen ini, pastikan Anda telah menyelesaikan prasyarat tertentu.

Mengaktifkan API

Sebelum dapat mengakses objek Kubernetes API menggunakan konektor Kubernetes API, Anda harus mengaktifkan API berikut:

  • Kubernetes Engine API: untuk membangun dan mengelola aplikasi berbasis container menggunakan GKE
  • Workflows API: untuk mengelola definisi dan eksekusi alur kerja; mengaktifkan Workflows API akan otomatis mengaktifkan Workflow Executions API

Konsol

Aktifkan API:

Aktifkan API

gcloud

  1. Di konsol Google Cloud , aktifkan Cloud Shell.

    Aktifkan Cloud Shell

    Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan dimulai dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi pada sesi.

  2. Aktifkan API:

    gcloud services enable container.googleapis.com workflows.googleapis.com

Membuat akun layanan

Buat akun layanan yang dikelola pengguna yang bertindak sebagai identitas alur kerja Anda, dan berikan peran Kubernetes Engine Developer (roles/container.developer) agar alur kerja dapat mengakses objek API Kubernetes di dalam cluster.

Konsol

  1. Di konsol Google Cloud , buka halaman Service accounts.

    Buka halaman Service accounts

  2. Pilih project, lalu klik Buat akun layanan.

  3. Di kolom Nama akun layanan, masukkan nama. Konsol Google Cloud akan mengisi kolom ID akun layanan berdasarkan nama ini.

    Di kolom Deskripsi akun layanan, masukkan sebuah deskripsi. Contoh, Service account for Kubernetes API.

  4. Klik Create and continue.

  5. Di daftar Select a role, filter, lalu pilih peran Kubernetes Engine Developer.

  6. Klik Lanjutkan.

  7. Untuk menyelesaikan pembuatan akun, klik Selesai.

gcloud

  1. Buat akun layanan:

    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

    Ganti SERVICE_ACCOUNT_NAME dengan nama akun layanan.

  2. Berikan peran container.developer ke akun layanan Anda:

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member=serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
        --role=roles/container.developer

    Ganti PROJECT_ID dengan ID project Google Cloud Anda.

Perhatikan bahwa Anda dapat menggunakan IAM dan kontrol akses berbasis peran (RBAC) Kubernetes untuk mengontrol akses ke cluster GKE Anda:

  • IAM tidak spesifik pada Kubernetes; sistem ini menyediakan pengelolaan identitas untuk beberapa produk, dan beroperasi terutama di tingkat project. Google Cloud Google Cloud

  • RBAC Kubernetes adalah komponen inti Kubernetes yang memungkinkan Anda membuat dan memberikan peran (serangkaian izin) untuk objek atau jenis objek apa pun dalam cluster. Jika Anda mengutamakan penggunaan GKE, dan memerlukan izin terperinci untuk setiap objek dan operasi dalam cluster Anda, Kubernetes RBAC adalah pilihan terbaik.

Untuk mengetahui informasi selengkapnya, lihat Kontrol akses.

Membuat cluster GKE

Untuk menggunakan konektor Kubernetes API, Anda harus sudah membuat cluster GKE publik atau pribadi. Dalam cluster pribadi, node hanya memiliki alamat IP internal, yang berarti node dan Pod diisolasi dari internet secara default. Untuk mengetahui informasi selengkapnya, lihat Cluster pribadi.

Anda juga dapat menentukan mode operasi yang menawarkan berbagai tingkat fleksibilitas, tanggung jawab, dan kontrol. Misalnya, Anda dapat membuat cluster Autopilot yang merupakan mode operasi di GKE tempat Google mengelola konfigurasi cluster Anda, termasuk node, penskalaan, keamanan, dan setelan lainnya yang telah dikonfigurasi sebelumnya. Untuk mengetahui informasi selengkapnya, lihat Memilih mode operasi GKE.

Jika Anda belum membuat cluster GKE, Anda dapat men-deploy aplikasi dalam container server web ke cluster GKE. Atau, untuk mencoba petunjuk dalam dokumen ini, Anda dapat membuat cluster Autopilot dengan menyelesaikan langkah-langkah berikut.

Konsol

  1. Di konsol Google Cloud , buka halaman Kubernetes clusters.

    Buka cluster Kubernetes

  2. Klik Create.

  3. Jika Anda diminta untuk memilih mode cluster, pilih Autopilot.

  4. Di bagian Cluster basics, selesaikan langkah-langkah berikut:

    1. Masukkan Name untuk cluster Anda, seperti hello-cluster.
    2. Pilih region untuk cluster Anda, seperti us-central1.
  5. Klik Berikutnya: Jaringan.

  6. Di bagian Akses jaringan IPv4, untuk membuat cluster dengan endpoint yang dapat diakses secara publik, pilih Cluster publik.

  7. Untuk semua setelan lainnya, terima setelan default.

  8. Klik Create.

Mungkin perlu waktu beberapa menit hingga pembuatan cluster selesai. Setelah cluster dibuat, tanda centang menunjukkan bahwa cluster sedang berjalan.

gcloud

Jalankan perintah berikut:

gcloud container clusters create-auto CLUSTER_NAME \
    --location=LOCATION \
    --project=PROJECT_ID

Ganti kode berikut:

  • CLUSTER_NAME: nama cluster GKE Anda, seperti hello-cluster
  • LOCATION: region untuk cluster Anda, seperti