Apigee Hybrid mendukung pembaruan
bertahap. Di Kubernetes, update berkelanjutan memungkinkan update Deployment dilakukan tanpa periode nonaktif dengan mengupdate instance Pod secara bertahap dengan instance baru.
Komponen yang mendukung update berkelanjutan
Jika Anda mengubah setelan properti untuk hibrida komponen berikut dalam
file penggantian, Anda dapat menggunakan
properti revision untuk memberi sinyal bahwa Anda ingin melakukan update bertahap
ke pod yang terpengaruh.
runtime
mart
udca
metrics
synchronizer
Anda juga dapat menggunakan revision saat mengubah salah satu properti berikut:
nodeSelector.*
envs.*
imagePullSecrets.*
gcpProjectID (Tidak digunakan lagi)
k8sClusterName (Tidak digunakan lagi)
gcp.*
k8sCluster.*
contractProvider
org
Cara melakukan update berkelanjutan
Misalnya, Anda ingin mengubah memori runtime saat ini dari 1 GiB menjadi
5 GiB:
Dalam konfigurasi saat ini, revision disetel ke blue:
Dalam konfigurasi baru, revision diubah menjadi green, yang menandakan
bahwa Anda ingin melakukan update berkelanjutan saat
perubahan diterapkan. Nilai yang Anda tetapkan ke revision tidak penting; Anda dapat
menggunakan string apa pun yang diinginkan, selama Anda mengubahnya dari nilai sebelumnya menjadi yang lain.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-09-03 UTC."],[[["\u003cp\u003eThis documentation is for Apigee hybrid version 1.2, which is no longer supported and requires an upgrade to a newer version.\u003c/p\u003e\n"],["\u003cp\u003eApigee hybrid utilizes Kubernetes rolling updates, enabling zero-downtime updates by incrementally replacing Pod instances.\u003c/p\u003e\n"],["\u003cp\u003eRolling updates can be triggered for specific components like \u003ccode\u003eruntime\u003c/code\u003e, \u003ccode\u003emart\u003c/code\u003e, \u003ccode\u003eudca\u003c/code\u003e, \u003ccode\u003emetrics\u003c/code\u003e, and \u003ccode\u003esynchronizer\u003c/code\u003e by modifying the \u003ccode\u003erevision\u003c/code\u003e property in the overrides file.\u003c/p\u003e\n"],["\u003cp\u003eChanging properties such as \u003ccode\u003enodeSelector.*\u003c/code\u003e, \u003ccode\u003eenvs.*\u003c/code\u003e, \u003ccode\u003eimagePullSecrets.*\u003c/code\u003e, \u003ccode\u003egcp.*\u003c/code\u003e, \u003ccode\u003ek8sCluster.*\u003c/code\u003e, \u003ccode\u003econtractProvider\u003c/code\u003e, or \u003ccode\u003eorg\u003c/code\u003e also allows the use of \u003ccode\u003erevision\u003c/code\u003e to perform rolling updates.\u003c/p\u003e\n"],["\u003cp\u003eTo initiate a rolling update, change the \u003ccode\u003erevision\u003c/code\u003e property to any new string value, and then apply the changes, optionally targeting specific pods using the \u003ccode\u003e-c\u003c/code\u003e flag.\u003c/p\u003e\n"]]],[],null,["# Rolling updates\n\n| You are currently viewing version 1.2 of the Apigee hybrid documentation. **This version is end of life.** You should upgrade to a newer version. For more information, see [Supported versions](/apigee/docs/hybrid/supported-platforms#supported-versions).\n\n\nApigee hybrid supports [rolling\nupdates](https://kubernetes.io/docs/tutorials/kubernetes-basics/update/update-intro/). In Kubernetes, rolling updates allow Deployment updates to take place with zero\ndowntime by incrementally updating Pod instances with new ones.\n\nComponents that support rolling updates\n---------------------------------------\n\n\nIf you change property settings for any hybrid of the following components in your\noverrides file, you can use\nthe `revision` property to signal that you want to perform a rolling update\nto the affected pods.\n\n- `runtime`\n- `mart`\n- `udca`\n- `metrics`\n- `synchronizer`\n\nYou can also use `revision` when you change any\nof the following properties:\n\n- `nodeSelector.*`\n- `envs.*`\n- `imagePullSecrets.*`\n- `gcpProjectID` (Deprecated)\n- `k8sClusterName` (Deprecated)\n- `gcp.*`\n- `k8sCluster.*`\n- `contractProvider`\n- `org`\n\nHow to perform a rolling update\n-------------------------------\n\n\nFor example, suppose you want to change the current `runtime` memory from 1Gi to\n5Gi:\n\n\nIn the current configuration, `revision` is set to `blue`: \n\n```\n...\nrevision: blue\n...\nruntime:\n replicaCountMin: 2\n replicaCountMax: 20\n resources:\n cpu: 1000m\n memory: 1Gi\n...\n```\n\n\nIn the new configuration, `revision` is changed to `green`, signaling\nthat you want to perform a rolling update when\nthe change is applied. The value you set `revision` to does not matter; you can\nuse any string you wish, as long as you change it from the previous value to something else. \n\n```\n...\nrevision: green\n...\nruntime:\n replicaCountMin: 2\n replicaCountMax: 20\n resources:\n cpu: 1000m\n memory: 5Gi\n...\n```\n\n\nWhen you apply the change, you can use the `-c` flag to only update a specific\npod. For example: \n\n```\napigeectl apply -f my-overrides.yaml -c runtime\n```\n\n\nOr, if you do not use `-c` all of the pods that have config changes will be updated."]]