Membuat dan memodifikasi cluster GKE dengan bantuan Duet AI

Tutorial ini menunjukkan cara menggunakan Duet AI, kolaborator yang didukung AI di Google Cloud, untuk membuat, menguji, dan memodifikasi cluster Google Kubernetes Engine (GKE) di Autopilot. Anda akan melihat cara Duet AI membantu men-deploy aplikasi sederhana ke cluster dan membuat masa pemeliharaan harian untuk aplikasi. Tutorial ini ditujukan bagi engineer dengan tingkat pengalaman apa pun.

Tujuan

  • Pelajari berbagai layanan Google yang dapat Anda gunakan untuk men-deploy aplikasi ke GKE dengan mengajukan pertanyaan berbasis konteks pada Duet AI.
  • Minta Duet AI untuk memberikan perintah yang dapat Anda gunakan untuk men-deploy aplikasi dasar ke cluster GKE.
  • Buat, jelajahi, dan ubah cluster GKE menggunakan Duet AI untuk menjelaskan dan menghasilkan perintah shell.

Produk Google Cloud yang digunakan

Tutorial ini menggunakan produk Google Cloud yang dapat ditagih berikut. Gunakan Kalkulator Harga untuk membuat perkiraan biaya berdasarkan penggunaan yang Anda proyeksikan.

  • GKE. GKE adalah layanan Kubernetes terkelola yang memungkinkan Anda men-deploy dan mengelola aplikasi dalam container dalam skala besar. Untuk mengetahui informasi harga, lihat harga GKE.

  • Duet AI. Duet AI adalah kolaborator yang selalu aktif di Google Cloud dan menawarkan bantuan yang didukung teknologi AI generatif untuk berbagai pengguna, termasuk developer dan data scientist. Untuk memberikan pengalaman bantuan terintegrasi, Duet AI disematkan di banyak produk Google Cloud.

Sebelum memulai

  1. Aktifkan GKE API.
  2. Pastikan Duet AI sudah disiapkan untuk project dan akun pengguna Google Cloud Anda.

Jelajahi Kubernetes di Google Cloud

Untuk contoh berikut, anggaplah Anda adalah administrator infrastruktur yang bertanggung jawab menyiapkan infrastruktur untuk tim yang mengembangkan aplikasi web. Organisasi secara luas telah menstandarkan penggunaan container dan Kubernetes, sehingga tim ingin memahami cara menjalankan aplikasi web mereka di Kubernetes di Google Cloud. Tim ini juga menginginkan overhead pengelolaan infrastruktur seminimal mungkin.

Di konsol Google Cloud, Anda dapat melakukan chat dengan Duet AI untuk mendapatkan bantuan. Di panel Duet AI, Anda dapat memasukkan prompt, yaitu pertanyaan atau pernyataan yang menjelaskan bantuan yang Anda inginkan, dan Duet AI akan menampilkan respons. Duet AI tidak menggunakan perintah atau respons Anda sebagai data untuk melatih modelnya. Untuk mengetahui informasi selengkapnya, baca artikel Cara Duet AI di Google Cloud menggunakan data Anda.

Untuk mengetahui informasi selengkapnya tentang cara menulis perintah untuk menghasilkan respons yang baik, lihat Menulis perintah yang lebih baik untuk Duet AI.

Untuk meminta Duet AI membantu Anda menentukan cara menjalankan Kubernetes di Google Cloud, ikuti langkah-langkah berikut:

  1. Di toolbar Konsol Google Cloud, klik chat_spark Open Duet AI.

  2. Di panel Duet AI, masukkan perintah berikut berdasarkan persyaratan dan preferensi Anda, lalu klik Send:

    How can I run Kubernetes on Google Cloud without having to own
    management of nodes and the control plane?
    

    Respons Duet AI mungkin terlihat seperti berikut:

    To run Kubernetes on Google Cloud without having to own management of
    nodes and the control plane, you can use Google Kubernetes Engine
    (Google Kubernetes Engine (GKE)) in Autopilot. In Autopilot mode, Google manages the
    control plane and system components for you, and also manages your
    worker nodes.
    
  3. Masukkan pertanyaan lanjutan. Misalnya, jika Anda ingin menstandarkan pembuatan cluster GKE dalam mode Autopilot menggunakan Terraform, masukkan perintah berikut:

    Can you use Terraform to provision GKE clusters in Autopilot mode?
    

    Respons Duet AI mungkin terlihat seperti berikut:

    Yes, you can use Terraform to provision GKE clusters in Autopilot
    mode. Terraform is a tool that can be used to create and manage
    infrastructure on Google Cloud Platform. Find more information
    for your question here:
    https://cloud.google.com/blog/products/containers-kubernetes/partner-devops-and-security-solutions-for-gke-autopilot
    
  4. Opsional: Jika histori chat Anda tidak relevan dengan hal yang akan Anda tanyakan berikutnya, reset histori chat: di panel Duet AI, klik ikon delete, lalu pilih Reset chat.

Membuat cluster GKE dalam mode Autopilot

Pertimbangkan bahwa Anda tidak terbiasa menjalankan Kubernetes menggunakan GKE dalam mode Autopilot. Sebelum menyediakan cluster untuk developer, Anda memutuskan untuk menguji GKE dalam mode Autopilot terlebih dahulu. Di bagian ini, Anda akan meminta Duet AI untuk membantu Anda membuat dan menjalankan aplikasi web pengujian di cluster GKE dalam mode Autopilot.

  1. Di panel Duet AI, masukkan perintah berikut, lalu klik Send:

    How do I create a GKE Autopilot cluster?
    

    Duet AI merespons dengan petunjuk untuk membuat cluster menggunakan konsol Google Cloud dan Google Cloud CLI.

  2. Jika Anda melihat respons yang menyertakan nilai placeholder seperti CLUSTER_NAME, REGION, dan PROJECT_ID, menambahkan informasi tersebut ke perintah dapat menghasilkan respons yang lebih bermanfaat. Saring lagi dialog tersebut dengan lebih detail:

    What is the command to create a GKE Autopilot cluster in my current
    project named duet-ai-demo in the us-central region using the gcloud CLI?
    

    Duet AI menampilkan respons yang mirip dengan berikut ini:

    gcloud container clusters create-auto duet-ai-demo --region us-central1
    

    Untuk menggunakan perintah yang disediakan oleh Duet AI, buka Cloud Shell dan jalankan perintah gcloud sebelumnya dalam respons.

    Setelah beberapa menit, cluster GKE Autopilot Anda akan siap digunakan.

Men-deploy aplikasi web contoh

Setelah membuat cluster GKE dalam mode Autopilot, sekarang Anda ingin menguji proses menjalankan aplikasi web contoh yang serupa dengan aplikasi yang akan dijalankan oleh tim Anda di infrastruktur ini. Secara internal, Anda akan melihat image container berikut dari Google yang di-bookmark untuk menguji aplikasi web dalam container: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0.

  1. Di panel Duet AI, masukkan perintah berikut, lalu klik Send:

    What is the kubectl command to create a deployment called
    hello-server for the image us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0?
    

    Duet AI menampilkan respons yang mirip dengan:

    To create a deployment called hello-server for the image
    us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0, you
    can use the following kubectl command:
    
    kubectl create deployment hello-server --image=us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
    

    Jalankan perintah kubectl sebelumnya di Cloud Shell.

  2. Setelah server web dibuat, Anda memutuskan untuk menguji penyediaan load balancer di depan server web untuk mengeksposnya ke internet.

    Di panel Duet AI, masukkan perintah berikut, lalu klik Send:

    What is the kubectl command to expose this deployment on port 80 with
    a load balancer?
    

    Duet AI menampilkan respons yang mirip dengan berikut ini:

    To expose the hello-server deployment on port 80 with a load
    balancer, you can use the following kubectl expose command:
    
    kubectl expose deployment hello-server \
      --type LoadBalancer \
      --port 80 \
      --target-port 8080
    

    Menjalankan perintah ini akan membuat load balancer Compute Engine untuk container Anda.

    Meskipun memberikan lebih banyak konteks akan selalu membantu, perhatikan bagaimana Duet AI dapat mengambil nama deployment hello-server dari histori percakapan tanpa disertakan dalam perintah.

  3. Sekarang Anda ingin melihat apakah server web berjalan dan melayani permintaan dengan benar. Untuk melihat aplikasi yang di-deploy, Anda perlu mengambil alamat IP eksternal dari layanan Kubernetes yang Anda buat.

    Masukkan perintah berikut:

    What is the kubectl command to see the external IP address
    associated with this load balancer?
    

    Duet AI menampilkan respons yang mirip dengan berikut ini:

    To see the external IP associated with a load balancer, you can use
    the following kubectl command:
    
    kubectl get service hello-server -w
    
    This will output the name of the service, the type of service, the
    cluster IP address, the external IP address, and the ports that the
    service is listening on.
    

    Setelah beberapa menit, menjalankan perintah kubectl sebelumnya akan memberikan hasil yang mirip dengan:

    NAME           TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)        AGE
    hello-server   LoadBalancer   34.118.227.57   35.225.15.112   80:31473/TCP   6m18s
    

    Sekarang Anda dapat mengakses aplikasi web yang berjalan di GKE menggunakan nilai yang ditampilkan untuk EXTERNAL-IP.

Merencanakan strategi upgrade cluster

Sekarang Anda telah menguji kasus penggunaan utama tim di cluster GKE dalam mode Autopilot. Namun, sebelum melanjutkan agar tim menggunakan GKE Autopilot, Anda ingin mengonfigurasi waktu untuk pemeliharaan atau upgrade cluster.

Anda tahu bahwa pola traffic pengguna untuk aplikasi web tim Anda bersifat harian. Mengingat Duet AI telah menyampaikan bahwa GKE Autopilot menangani pemeliharaan cluster untuk Anda, pastikan bahwa pemeliharaan ini terjadi di luar jam-jam tersibuk aplikasi web Anda.

  1. Masukkan perintah berikut:

    How can I configure periods of time where GKE Autopilot won't
    perform maintenance or upgrades on my cluster nodes?
    

    Duet AI menampilkan respons yang mirip dengan berikut ini:

    To configure periods of time where GKE Autopilot won't perform
    maintenance or upgrades on your cluster nodes, you can use
    maintenance windows and exclusions.
    
    Maintenance windows are periods of time when GKE Autopilot is allowed
    to perform maintenance and upgrades on your cluster nodes. You can
    specify a maintenance window for your cluster when you create it, or
    you can update an existing cluster to specify a maintenance
    window.
    
    Maintenance exclusions are periods of time when GKE Autopilot is not
    allowed to perform maintenance or upgrades on your cluster nodes. You
    can create a maintenance exclusion for your cluster when you create
    it, or you can update an existing cluster to create a maintenance
    exclusion.
    
    To create a maintenance window or a maintenance exclusion, you can
    use the Google Cloud console, the gcloud CLI, or the Kubernetes
    API.
    
  2. Anda memutuskan untuk membuat masa pemeliharaan harian selama masa tidak aktif aplikasi web Anda menggunakan gcloud. Masukkan perintah berikut:

    How can I create a daily maintenance window from 22:00 to 02:00 using
    `gcloud` for my GKE Autopilot cluster named duet-ai-demo?
    

    Duet AI menampilkan respons yang mirip dengan berikut ini:

    To create a daily maintenance window using gcloud CLI for your
    duet-ai-demo GKE Autopilot cluster that goes from 22:00 to 02:00, you
    can use the following command:
    
    gcloud container clusters update duet-ai-demo \
      --maintenance-window-start 22:00 \
      --maintenance-window-end 02:00 \
      --maintenance-window-recurrence "FREQ=DAILY"
    
    This command will create a daily maintenance window that runs from
    22:00 to 02:00 UTC time zone.
    

    Dengan menjalankan perintah ini, Anda dapat memastikan bahwa infrastruktur yang Anda sediakan untuk tim akan menjalani pemeliharaan selama waktu paling tidak sibuk bagi pengguna. Anda siap untuk melanjutkan dengan merekomendasikan GKE Autopilot ke tim aplikasi web Anda.

Pembersihan

Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, Anda dapat menghapus project Google Cloud yang dibuat untuk tutorial ini. Atau, Anda dapat menghapus resource satu per satu.

  1. Di konsol Google Cloud, buka halaman Manage resource.

    Buka Manage resource

  2. Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
  3. Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.

Langkah selanjutnya