Membuat cluster pengguna

Cluster pengguna GKE di AWS menghosting beban kerja Kubernetes Anda. Topik ini menunjukkan cara membuat cluster pengguna dasar. Jika ingin mengonfigurasi cluster pengguna lebih lanjut, lihat Membuat cluster pengguna kustom.

Anda perlu menyediakan GKE di cluster pengguna AWS dengan resource kustom AWSCluster dan AWSNodePool.

Sebelum memulai

Untuk membuat cluster pengguna, Anda harus menginstal layanan pengelolaan terlebih dahulu.

Untuk terhubung ke GKE pada resource AWS, lakukan langkah-langkah berikut. Pilih apakah Anda sudah memiliki VPC AWS (atau koneksi langsung ke VPC) atau membuat VPC khusus saat membuat layanan pengelolaan.

VPC yang ada

Jika Anda memiliki koneksi langsung atau VPN ke VPC yang sudah ada, hapus baris env HTTP_PROXY=http://localhost:8118 dari perintah dalam topik ini.

VPC Khusus

Saat Anda membuat layanan pengelolaan di VPC khusus, GKE di AWS menyertakan host bastion di subnet publik.

Untuk terhubung ke layanan pengelolaan, lakukan langkah-langkah berikut:

  1. Beralihlah ke direktori yang memiliki konfigurasi GKE on AWS. Anda membuat direktori ini saat Menginstal layanan pengelolaan.

    cd anthos-aws

  2. Untuk membuka tunnel, jalankan skrip bastion-tunnel.sh. Tunnel akan mengarah ke localhost:8118.

    Untuk membuka tunnel ke bastion host, jalankan perintah berikut:

    ./bastion-tunnel.sh -N
    

    Pesan dari tunnel SSH akan muncul di jendela ini. Saat Anda siap menutup koneksi, hentikan prosesnya menggunakan Control+C atau menutup jendela.

  3. Buka terminal baru dan pindah ke direktori anthos-aws Anda.

    cd anthos-aws
  4. Pastikan Anda dapat terhubung ke cluster dengan kubectl.

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl cluster-info
    

    Outputnya mencakup URL untuk server API layanan pengelolaan.

Memilih ukuran instance bidang kontrol

GKE di AWS tidak mendukung pengubahan ukuran instance bidang kontrol. Sebelum membuat cluster pengguna, pilih ukuran instance bidang kontrol Anda. Ukuran bidang kontrol bergantung pada jumlah node dalam cluster Anda. Tabel berikut berisi ukuran instance bidang kontrol yang direkomendasikan untuk berbagai ukuran cluster.

Ukuran cluster (node) Jenis instance bidang kontrol
1 – 10 m5.large
11 – 100 m5.xlarge
101 – 200 m5.2xlarge

Membuat cluster pengguna

Dalam contoh ini, Anda menggunakan terraform untuk menghasilkan konfigurasi guna membuat cluster dasar. Kemudian, terapkan konfigurasi dengan kubectl apply.

  1. Buka terminal dan, jika perlu, hubungkan ke bastion host.

  2. Ubah direktori ke folder yang Anda buat saat Menginstal layanan pengelolaan.

  3. Gunakan Terraform untuk membuat manifes yang mengonfigurasi cluster contoh dan menyimpannya ke file YAML. Pilih versi Terraform Anda, lalu jalankan perintah berikut:

    Terraform 0.12, 0.13

    terraform output cluster_example > cluster-0.yaml
    

    Terraform 0.14.3+

    terraform output -raw cluster_example > cluster-0.yaml
    

    Untuk mengetahui informasi selengkapnya tentang isi file ini, lihat dokumentasi AWSCluster dan AWSNodePool.

  4. Buka file di editor teks dan edit jika perlu. Secara default, GKE di AWS membuat node pool di setiap zona ketersediaan yang ditentukan di anthos-gke.yaml. Anda dapat mengubah ukuran dan jumlah node pool agar sesuai dengan cluster yang diinginkan. Anda juga dapat membuat perubahan tambahan pada konfigurasi. Misalnya, Anda dapat mengubah jenis instance GKE pada node AWS; Anda juga dapat mengaktifkan logging dan pemantauan pada node bidang kontrol.

  5. Terapkan file tersebut ke layanan pengelolaan Anda.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl apply -f cluster-0.yaml
    

Membuat kubeconfig

Saat cluster pengguna dimulai, Anda dapat membuat konteks kubeconfig untuk cluster pengguna baru. Anda menggunakan konteks untuk melakukan autentikasi ke cluster pengguna atau pengelolaan.

  1. Gunakan anthos-gke aws clusters get-credentials untuk membuat kubeconfig untuk cluster pengguna Anda di ~/.kube/config.

    env HTTPS_PROXY=http://localhost:8118 \
      anthos-gke aws clusters get-credentials CLUSTER_NAME
    

    Ganti CLUSTER_NAME dengan nama cluster Anda. Misalnya, cluster-0.

  2. Gunakan kubectl untuk melakukan autentikasi ke cluster pengguna baru.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl cluster-info
    

    Jika cluster sudah siap, outputnya akan menyertakan URL untuk komponen Kubernetes dalam cluster Anda.

Melihat status cluster Anda

Layanan pengelolaan menyediakan resource AWS saat Anda menerapkan AWSCluster atau AWSNodePool.

  1. Dari direktori anthos-aws, gunakan anthos-gke untuk mengalihkan konteks ke layanan pengelolaan Anda.

    cd anthos-aws
    anthos-gke aws management get-credentials

  2. Untuk mencantumkan cluster, gunakan kubectl get AWSClusters.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl get AWSClusters
    

    Outputnya mencakup nama, status, usia, versi, dan endpoint setiap cluster.

    Misalnya, output berikut hanya menyertakan satu AWSCluster yang bernama cluster-0:

    NAME        STATE          AGE     VERSION         ENDPOINT
    cluster-0   Provisioning   2m41s   1.25.5-gke.2100   gke-xyz.elb.us-east-1.amazonaws.com
    

Melihat peristiwa cluster Anda

Untuk melihat Peristiwa Kubernetes terbaru dari cluster pengguna, gunakan kubectl get events.

  1. Dari direktori anthos-aws, gunakan anthos-gke untuk mengalihkan konteks ke layanan pengelolaan Anda.

    cd anthos-aws
    anthos-gke aws management get-credentials

  2. Jalankan kubectl get events.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl get events
    

Output-nya mencakup informasi, peringatan, dan error yang terkait dari layanan pengelolaan Anda.

Menghapus cluster pengguna

Untuk menghapus cluster pengguna, lakukan langkah-langkah berikut:

  1. Dari direktori anthos-aws, gunakan anthos-gke untuk mengalihkan konteks ke layanan pengelolaan Anda.

    cd anthos-aws
    anthos-gke aws management get-credentials

  2. Gunakan kubectl delete untuk menghapus manifes yang berisi cluster pengguna Anda.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl delete -f CLUSTER_FILE
    

    Ganti CLUSTER_FILE dengan nama manifes yang berisi objek AWScluster dan AWSNodePool Anda. Contoh, cluster-0.yaml.

Menghapus semua cluster pengguna

Untuk menghapus semua cluster pengguna Anda, lakukan langkah-langkah berikut:

  1. Dari direktori anthos-aws, gunakan anthos-gke untuk mengalihkan konteks ke layanan pengelolaan Anda.

    cd anthos-aws
    anthos-gke aws management get-credentials

  2. Gunakan kubectl delete untuk menghapus AWSNodePools dan AWSCluster dari layanan pengelolaan Anda.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl delete AWSNodePool --all
    env HTTPS_PROXY=http://localhost:8118 \
      kubectl delete AWSCluster --all
    

Untuk informasi selengkapnya, lihat Meng-uninstal GKE di AWS.

Langkah selanjutnya