Ini adalah bagian pertama dari panduan yang memandu Anda melakukan penginstalan kecil proof-of-concept Google Distributed Cloud (khusus software) untuk VMware dengan satu cluster pengguna. Halaman ini ditujukan untuk Admin, Arsitek, dan Operator yang menyiapkan, memantau, dan mengelola infrastruktur teknologi. Untuk mempelajari lebih lanjut peran umum dan contoh tugas yang kami referensikan dalam Google Cloud konten, lihat Peran dan tugas pengguna GKE umum.
Dokumen ini menunjukkan cara menyiapkan lingkungan vSphere dan Google Cloud minimal untuk penginstalan ini dan merencanakan alamat IP Anda, sementara Membuat cluster dasar lanjutan menunjukkan cara membuat workstation admin, cluster admin, dan cluster pengguna.
Infrastruktur yang Anda siapkan menggunakan panduan ini mungkin tidak sesuai untuk kebutuhan produksi dan kasus penggunaan Anda yang sebenarnya. Untuk mengetahui informasi selengkapnya tentang penginstalan produksi, lihat Ringkasan penginstalan dan panduan.
Sebelum memulai
Baca Ringkasan Google Distributed Cloud (khusus software) untuk VMware, yang mencakup ringkasan setiap komponen yang akan Anda instal dalam penyiapan ini.
Lihat versi vSphere yang didukung.
Lihat persyaratan lisensi vSphere. Untuk penginstalan minimal ini, lisensi vSphere Standard sudah cukup.
Anda memerlukan instance vCenter Server yang sedang berjalan.
Anda memerlukan akun pengguna vCenter dengan hak istimewa yang memadai. Catat nama pengguna dan sandi untuk akun ini.
Pastikan Anda memahami beberapa konsep Google Cloud dasar, termasuk project, izin IAM, dan akun layanan. Jika tidak, lihat panduan berikut untuk mengetahui informasi selengkapnya:
Ringkasan prosedur
Berikut adalah langkah-langkah utama yang terlibat dalam penyiapan ini:
- Menyiapkan lingkungan Anda Pastikan Anda dapat memenuhi persyaratan sumber daya. Kami memberikan contoh konfigurasi untuk host ESXi dan datastore vSphere yang memenuhi persyaratan untuk penginstalan ini.
- Siapkan objek vSphere. Komponen Google Distributed Cloud berjalan dalam hierarki objek vSphere.
- Rencanakan alamat IP Anda. Google Distributed Cloud mengharuskan Anda memberikan alamat IP untuk semua node, selain alamat IP virtual (VIP) untuk akses administrator dan pengguna ke deployment Anda. Untuk penyiapan ini, Anda akan menggunakan alamat IP statis untuk node cluster. Kami memberikan contoh, meskipun sebaiknya Anda berkonsultasi dengan administrator jaringan untuk membantu Anda memilih alamat yang sesuai untuk jaringan Anda sendiri.
- Mengonfigurasi aturan firewall dan proxy Anda
- Siapkan Google Cloud resource, termasuk Google Cloud project yang akan Anda gunakan saat menyiapkan dan mengelola Google Distributed Cloud, serta akun layanan dengan izin yang diperlukan untuk mengakses dan mendownload software komponen Google Distributed Cloud.
1. Menyiapkan lingkungan Anda
Untuk penginstalan minimal ini, Anda dapat menggunakan satu host fisik yang menjalankan ESXi.
Pastikan host Anda memiliki kapasitas CPU, RAM, dan penyimpanan minimum berikut:
- 8 CPU fisik @ 2,7 GHz dengan hyperthreading diaktifkan
- RAM 80 gibibyte (GiB)
- Penyimpanan 470 GiB
Pastikan Anda telah menginstal ESXi versi 7.0u2 atau yang lebih baru.
Pastikan Anda menggunakan vCenter Server versi 7.0u2 atau yang lebih baru.
Contoh host dan datastore
Berikut adalah contoh host ESXi dan datastore vSphere yang memenuhi persyaratan:
Konfigurasi host ESXi:
- Produsen: Dell Inc.
- CPU Fisik: 8 CPU @ 2,7 GHz
- Jenis prosesor: Intel(R) Xeon(R) Platinum 8168 CPU @ 2,70 GHz
- Soket prosesor: 2
- Versi ESXi: 7.0u2 atau yang lebih baru
- Versi vCenter Server: 7.0u2 atau yang lebih baru
- Hyperthreading: diaktifkan
Konfigurasi Datastore:
- Jenis: VMFS 6.82
- Jenis drive: SSD
- Vendor: DELL
- Jenis drive: logis
- Level RAID: RAID1
2. Menyiapkan objek vSphere
Siapkan objek berikut di lingkungan vSphere Anda:
Catat nama pusat data, cluster, datastore, dan jaringan vSphere Anda, karena Anda akan memerlukannya saat menyiapkan workstation admin di Membuat cluster dasar.
Jika Anda telah menyiapkan datastore vSAN, gunakan govc
untuk membuat folder di direktori datastore
yang akan digunakan untuk disk virtual machine (VMDK) Google Distributed Cloud:
govc datastore.mkdir -namespace=true data-disks
3. Merencanakan alamat IP Anda
Seperti yang Anda lihat dalam ringkasan Google Distributed Cloud, penginstalan Google Distributed Cloud memerlukan sejumlah alamat IP, termasuk:
- Alamat IP untuk semua node
- Alamat IP virtual (VIP) untuk akses ke komponen bidang kontrol seperti server Kubernetes API dan ke aplikasi yang berjalan di cluster pengguna Anda
- Rentang CIDR untuk komunikasi antara Pod dan Layanan
Oleh karena itu, bagian penting dalam menyiapkan Google Distributed Cloud adalah merencanakan alamat IP Anda, termasuk memastikan bahwa Anda tidak membuat konflik alamat. Anda mungkin memerlukan bantuan administrator jaringan untuk menemukan nilai yang sesuai untuk dikonfigurasi, bahkan untuk penginstalan sederhana ini. Di bagian selanjutnya, kami memberikan contoh ilustrasi nilai yang berfungsi untuk penginstalan ini dalam jaringan hipotetis - nilai Anda akan berbeda.
Cluster dalam penginstalan minimal ini menggunakan load balancer MetalLB yang dibundel. Load balancer ini berjalan di node cluster, sehingga tidak ada VM tambahan yang diperlukan untuk load balancing.
Google Distributed Cloud memungkinkan Anda memilih antara menyediakan alamat IP statis untuk node cluster, atau menggunakan server DHCP. Dalam penginstalan sederhana ini, Anda akan menggunakan alamat IP statis.
Contoh VLAN
Untuk penginstalan kecil ini, sebaiknya tempatkan workstation admin, node cluster admin, dan node cluster pengguna di VLAN yang sama di jaringan vSphere Anda. Misalnya, semua alamat IP dalam rentang 172.16.20.0/24 dirutekan ke VLAN tertentu. Misalkan juga administrator jaringan Anda mengatakan bahwa Anda dapat menggunakan 172.16.20.49 - 172.16.20.69 untuk VM dan alamat IP virtual (VIP).
Diagram berikut menggambarkan VLAN yang memiliki workstation admin, cluster admin, dan cluster pengguna. Perhatikan bahwa VIP tidak ditampilkan terkait dengan node tertentu dalam cluster. Hal ini karena load balancer MetalLB dapat memilih node mana yang mengumumkan VIP untuk setiap Layanan. Misalnya, di cluster pengguna, satu node pekerja dapat mengumumkan 172.16.20.64, dan node pekerja lain dapat mengumumkan 172.16.20.65.
Contoh alamat IP: workstation admin
Untuk workstation admin, contoh ini menggunakan alamat pertama dalam rentang yang diberikan kepada Anda oleh administrator jaringan: 172.16.20.49.
Contoh alamat IP: node cluster
Tabel berikut memberikan contoh cara alamat IP dapat digunakan untuk node cluster. Perhatikan bahwa tabel menampilkan alamat untuk dua node tambahan: admin-vm-6 dan user-vm-5. Node tambahan diperlukan selama upgrade, update, dan perbaikan otomatis cluster. Untuk mengetahui informasi selengkapnya, lihat Mengelola alamat IP node.
Nama host VM | Deskripsi | Alamat IP |
---|---|---|
admin-vm-1 | Node bidang kontrol untuk cluster admin. | 172.16.20.50 |
admin-vm-2 | Node bidang kontrol untuk cluster admin. | 172.16.20.51 |
admin-vm-3 | Node bidang kontrol untuk cluster admin. | 172.16.20.52 |
user-vm-1 | Node bidang kontrol untuk cluster pengguna. | 172.16.20.53 |
user-vm-2 | Node pekerja cluster pengguna | 172.16.20.54 |
user-vm-3 | Node pekerja cluster pengguna | 172.16.20.55 |
user-vm-4 | Node pekerja cluster pengguna | 172.16.20.56 |
user-vm-5 | 172.16.20.57 |
Contoh alamat IP: VIP untuk cluster admin
Tabel berikut memberikan contoh cara menentukan VIP bidang kontrol untuk cluster admin Anda.
VIP | Deskripsi | Alamat IP |
---|---|---|
VIP untuk server Kubernetes API cluster admin | Dikonfigurasi di load balancer untuk cluster admin. | 172.16.20.58 |
Contoh alamat IP: VIP untuk cluster pengguna
Tabel berikut memberikan contoh cara menentukan VIP untuk cluster pengguna Anda.
Perhatikan bahwa VIP untuk server Kubernetes API dari cluster pengguna dan VIP ingress berada di VLAN yang sama dengan node pekerja dan node bidang kontrol.
VIP | Deskripsi | Alamat IP |
---|---|---|
VIP untuk server Kubernetes API cluster pengguna | Dikonfigurasi di load balancer untuk cluster admin. | 172.16.20.59 |
VIP ingress | Dikonfigurasi di load balancer untuk cluster pengguna. | 172.16.20.60 |
VIP Layanan | Sepuluh alamat untuk Layanan jenis LoadBalancer .Dikonfigurasi sesuai kebutuhan di load balancer untuk cluster pengguna. Perhatikan bahwa rentang ini mencakup VIP ingress. Hal ini merupakan persyaratan untuk load balancer MetalLB. |
172.16.20.60 - 172.16.20.69 |
Alamat IP untuk Pod dan Layanan
Selain alamat IP untuk node cluster dan untuk mengakses deployment, Anda juga perlu menentukan rentang alamat yang dapat digunakan dalam setiap cluster untuk traffic dalam cluster.
Untuk melakukannya, Anda menentukan rentang
CIDR
yang akan digunakan untuk alamat IP Pod dan rentang CIDR lain yang akan digunakan untuk
alamat ClusterIP
Layanan Kubernetes. Hal ini ditentukan sebagai bagian dari konfigurasi cluster, seperti yang akan Anda lihat di bagian berikutnya dalam panduan ini.
Sebagai bagian dari perencanaan IP, tentukan rentang CIDR yang ingin Anda gunakan untuk Pod dan Service. Kecuali jika Anda memiliki alasan untuk melakukannya, gunakan rentang default berikut:
Tujuan | Rentang CIDR default |
---|---|
Pod cluster admin | 192.168.0.0/16 |
Pod cluster pengguna | 192.168.0.0/16 |
Layanan cluster admin | 10.96.232.0/24 |
Layanan cluster pengguna | 10.96.0.0/20 |
Nilai default mengilustrasikan poin-poin berikut:
Rentang CIDR Pod dapat sama untuk beberapa cluster.
Rentang CIDR Layanan cluster tidak boleh tumpang-tindih dengan rentang CIDR Layanan cluster lain.
Biasanya Anda memerlukan lebih banyak Pod daripada Service, jadi untuk cluster tertentu, Anda mungkin menginginkan rentang CIDR Pod yang lebih besar daripada rentang CIDR Service. Misalnya, rentang Pod default untuk cluster pengguna memiliki 2^(32-16) = 2^16 alamat, tetapi rentang Layanan default untuk cluster pengguna hanya memiliki 2^(32-20) = 2^12 alamat.
Hindari tumpang-tindih
Dalam beberapa kasus, Anda mungkin perlu menggunakan rentang CIDR non-default untuk menghindari tumpang-tindih dengan alamat IP yang dapat dijangkau di jaringan Anda. Rentang Service dan Pod tidak boleh tumpang-tindih dengan alamat di luar cluster yang ingin Anda jangkau dari dalam cluster.
Misalnya, rentang Layanan Anda adalah 10.96.232.0/24, dan rentang Pod Anda adalah 192.168.0.0/16. Setiap traffic yang dikirim dari Pod ke alamat dalam salah satu rentang tersebut akan diperlakukan sebagai dalam cluster dan tidak akan mencapai tujuan di luar cluster.
Secara khusus, rentang Layanan dan Pod tidak boleh tumpang-tindih dengan:
Alamat IP node di cluster mana pun
Alamat IP yang digunakan oleh mesin load balancer
VIP yang digunakan oleh node bidang kontrol dan load balancer
Alamat IP server vCenter, server DNS, dan server NTP
Sebaiknya gunakan rentang alamat IP internal yang ditentukan oleh RFC 1918 untuk rentang Pod dan Layanan Anda.
Berikut adalah salah satu alasan rekomendasi penggunaan alamat RFC 1918. Misalkan rentang Pod atau Service Anda berisi alamat IP eksternal. Setiap traffic yang dikirim dari Pod ke salah satu alamat eksternal tersebut akan diperlakukan sebagai traffic dalam cluster dan tidak akan mencapai tujuan eksternal.
Server DNS dan gateway default
Sebelum membuat cluster admin dan pengguna, Anda juga harus mengetahui alamat IP dari:
Server DNS yang dapat digunakan oleh workstation admin dan node cluster Anda
Server NTP yang dapat digunakan oleh node cluster Anda
Alamat IP gateway default untuk subnet yang memiliki node cluster dan workstation admin Anda. Misalnya, anggaplah workstation admin, node cluster admin, dan node cluster pengguna Anda berada di subnet 172.16.20.0/24. Alamat gateway default untuk subnet mungkin 172.16.20.1.
4. Mengonfigurasi firewall dan proxy Anda
Konfigurasi firewall dan proxy Anda untuk mengizinkan traffic Google Distributed Cloud yang diperlukan, dengan mengikuti Aturan firewall dan proxy. Anda akan memerlukan alamat IP node cluster yang Anda identifikasi di bagian sebelumnya untuk menjalankan tugas ini. Perhatikan bahwa karena alamat IP untuk cluster pengguna dan admin tidak ditetapkan ke node tertentu, Anda harus memastikan bahwa semua aturan firewall yang relevan berlaku untuk semua alamat IP untuk setiap cluster.
5. Menyiapkan Google Cloud resource
Google Cloud project menjadi dasar untuk membuat, mengaktifkan, dan menggunakan semua Google Cloud layanan, termasuk yang digunakan untuk menginstal dan mengelola Google Distributed Cloud. Jika belum memahami cara kerja Google Cloud project, Anda dapat menemukan banyak informasi lainnya di Membuat dan mengelola project.
Pilih project Google Cloud yang ada, atau buat project baru.
Catat Google Cloud project ID, karena akan diperlukan nanti.
Menyiapkan Google Cloud CLI
Google Cloud CLI adalah alat command line yang dapat Anda gunakan untuk bekerja dengan project Anda. Ikuti petunjuk di Menginstal Google Cloud SDK untuk memastikan Anda memiliki versi terbaru.
Izin yang diperlukan
Jika Anda adalah pemilik project (misalnya, jika Anda membuat project sendiri), Anda sudah memiliki semua izin yang diperlukan untuk melakukan penginstalan sederhana ini. Jika Anda bukan pemilik project, Anda atau administrator project harus memastikan Akun Google Anda memiliki izin yang diperlukan.
Peran IAM berikut memungkinkan Anda membuat akun layanan, menetapkan peran IAM ke akun layanan tersebut, mengaktifkan API, dan memastikan bahwa alat gkeadm
dapat membuat dan mengelola akun layanan untuk Anda di bagian kedua penyiapan ini:
resourcemanager.projectIamAdmin
serviceusage.serviceUsageAdmin
iam.serviceAccountCreator
iam.serviceAccountKeyAdmin
Untuk mengetahui detail izin yang diperlukan untuk memberikan peran IAM sendiri, lihat Memberikan, mengubah, dan mencabut akses ke resource. Jika Anda tidak memiliki izin ini, orang lain di organisasi Anda harus memberikan peran tersebut untuk Anda.
Untuk memberikan peran:
Linux and macOS
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:ACCOUNT" \ --role="roles/resourcemanager.projectIamAdmin" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:ACCOUNT" \ --role="roles/serviceusage.serviceUsageAdmin" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:ACCOUNT" \ --role="roles/iam.serviceAccountCreator" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:ACCOUNT" \ --role="roles/iam.serviceAccountKeyAdmin"
Windows
gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:ACCOUNT" ^ --role="roles/resourcemanager.projectIamAdmin" gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:ACCOUNT" ^ --role="roles/serviceusage.serviceUsageAdmin" gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:ACCOUNT" ^ --role="roles/iam.serviceAccountCreator" gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:ACCOUNT" ^ --role="roles/iam.serviceAccountKeyAdmin"
Ganti kode berikut:
PROJECT_ID
: ID Google Cloud project AndaACCOUNT
: alamat email identifikasi untuk Akun Google Anda
Menyiapkan akun layanan
Project Google Cloud Anda harus memiliki empat akun layanan agar dapat digunakan oleh Google Distributed Cloud. Dalam latihan ini, dua akun layanan tersebut akan dibuat secara otomatis untuk Anda. Namun, Anda harus membuat dua akun layanan lainnya secara manual:
- Akun layanan connect-register (Dibuat secara otomatis)
- Akun layanan logging-monitoring (Dibuat secara otomatis)
- Akun layanan audit logging (Buat secara manual)
- Akun layanan akses komponen (Buat secara manual)
Akun layanan logging audit
Di project Google Cloud Anda, buat akun layanan yang dapat digunakan Google Distributed Cloud untuk mengirim log audit Kubernetes dari cluster Anda ke Cloud Audit Logs. Akun ini disebut akun layanan logging audit.
gcloud iam service-accounts create audit-logging-sa \ --display-name "Audit Logging Service Account" \ --project PROJECT_ID
Ganti
PROJECT_ID
dengan ID Google Cloud project Anda.Dapatkan alamat email akun layanan audit logging yang baru dibuat:
gcloud iam service-accounts list \ --project PROJECT_ID
Buat kunci JSON untuk akun layanan audit logging Anda:
gcloud iam service-accounts keys create audit-logging-key.json \ --iam-account SERVICE_ACCOUNT_EMAIL_AUDIT_LOGGING
Ganti
SERVICE_ACCOUNT_EMAIL_AUDIT_LOGGING
dengan alamat email akun layanan audit logging Anda.Anda tidak perlu memberikan peran apa pun ke akun layanan audit logging Anda.
Akun layanan akses komponen
Di project Google Cloud Anda, buat akun layanan yang dapat digunakan Google Distributed Cloud untuk mendownload kode komponen cluster atas nama Anda dari Artifact Registry. Akun layanan ini disebut akun layanan akses komponen.
gcloud iam service-accounts create component-access-sa \ --display-name "Component Access Service Account" \ --project PROJECT_ID
Ganti
PROJECT_ID
dengan ID Google Cloud project Anda.Dapatkan alamat email akun layanan akses komponen yang baru dibuat:
gcloud iam service-accounts list \ --project PROJECT_ID
Buat kunci JSON untuk akun layanan akses komponen Anda:
gcloud iam service-accounts keys create component-access-key.json \ --iam-account SERVICE_ACCOUNT_EMAIL_COMPONENT_ACCESS
Ganti
SERVICE_ACCOUNT_EMAIL_COMPONENT_ACCESS
dengan alamat email akun layanan akses komponen Anda.Tambahkan peran IAM berikut ke akun layanan akses komponen Anda:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT_EMAIL_COMPONENT_ACCESS" \ --role "roles/serviceusage.serviceUsageViewer" gcloud projects add-iam-policy-binding PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT_EMAIL_COMPONENT_ACCESS" \ --role "roles/iam.roleViewer" gcloud projects add-iam-policy-binding PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT_EMAIL_COMPONENT_ACCESS" \ --role "roles/iam.serviceAccountViewer"
Mengaktifkan Google API
Aktifkan Google API berikut di Google Cloud project Anda. Hal ini memungkinkan Anda menggunakan semua layanan yang diperlukan oleh Google Distributed Cloud dalam project Anda. Google Cloud
gcloud services enable --project PROJECT_ID \ anthos.googleapis.com \ anthosgke.googleapis.com \ anthosaudit.googleapis.com \ cloudresourcemanager.googleapis.com \ connectgateway.googleapis.com \ container.googleapis.com \ gkeconnect.googleapis.com \ gkehub.googleapis.com \ gkeonprem.googleapis.com \ kubernetesmetadata.googleapis.com \ serviceusage.googleapis.com \ stackdriver.googleapis.com \ opsconfigmonitoring.googleapis.com \ monitoring.googleapis.com \ logging.googleapis.com \ iam.googleapis.com \ storage.googleapis.com
Jika ini pertama kalinya Anda mengaktifkan GKE On-Prem API (
gkeonprem.googleapis.com
) di project Anda, Anda perlu menginisialisasi API. Anda dapat melakukannya dengan memanggil perintah gcloud CLI yang menampilkan versi yang tersedia yang dapat Anda gunakan untuk membuat cluster pengguna:gcloud container vmware clusters query-version-config \ --project=PROJECT_ID \ --location="us-central1"
Langkah berikutnya