Google Cloud ತನ್ನ GKE ಸೇವೆಯು ಈಗ ಸಾಮಾನ್ಯವಾಗಿ ಲಭ್ಯವಿರುವ (generally-available) ಎರಡು ಹಂತದ ಕಂಟ್ರೋಲ್-ಪ್ಲೇನ್ ಅಪ್‌ಗ್ರೇಡ್‌ಗಳನ್ನು ನೀಡುತ್ತದೆ ಎಂದು ಘೋಷಿಸಿದೆ, ಇದು ಗ್ರಾಹಕರಿಗೆ ಸಾಫ್ಟ್‌ವೇರ್ ಬೈನರಿ ಅಪ್‌ಗ್ರೇಡ್ ಅನ್ನು ಡೇಟಾ-ಫಾರ್ಮ್ಯಾಟ್ ಮೈಗ್ರೇಶನ್‌ನಿಂದ ಪ್ರತ್ಯೇಕಿಸಲು ಮತ್ತು ಮೈನರ್ ವರ್ಷನ್ ಬದಲಾವಣೆಗಳ ಸಮಯದಲ್ಲಿ ರೋಲ್‌ಬ್ಯಾಕ್ ವಿಂಡೋವನ್ನು ತೆರೆದಿಡಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.

GKE ಗೆ ಏಕೆ ಸುರಕ್ಷಿತ ಮಾರ್ಗದ ಅಗತ್ಯವಿತ್ತು

Kubernetes ಕಂಟ್ರೋಲ್ ಪ್ಲೇನ್ ಅನ್ನು ಒಂದು ಮೈನರ್ ವರ್ಷನ್‌ನಿಂದ ಮುಂದಿನ ವರ್ಷನ್‌ಗೆ ಅಪ್‌ಗ್ರೇಡ್ ಮಾಡುವುದು ಯಾವಾಗಲೂ ಅಪಾಯವನ್ನು ಹೊಂದಿರುತ್ತದೆ. 1.33 ರಿಂದ 1.34 ಕ್ಕೆ ಬದಲಾಗುವುದು ಕೇವಲ ಬೈನರಿಗಳನ್ನು ಬದಲಾಯಿಸುವುದಲ್ಲದೆ, ಅಡಿಪಾಯದ ಡೇಟಾ ರಚನೆಗಳನ್ನು (data structures) ಸಹ ಮರುಬರೆಯುತ್ತದೆ. ಹೊಸ ವರ್ಷನ್‌ನಲ್ಲಿ ಬಗ್ (bug) ಇದ್ದರೆ, ಕ್ಲಸ್ಟರ್ ಅನ್ನು ಸುಲಭವಾಗಿ ಹಿಂದಕ್ಕೆ ಪಡೆಯಲು (revert) ಸಾಧ್ಯವಿಲ್ಲ; ಅಡ್ಮಿನಿಸ್ಟ್ರೇಟರ್‌ಗಳು ಹಳೆಯ ಡೇಟಾಬೇಸ್ ಸ್ನ್ಯಾಪ್‌ಶಾಟ್‌ಗಳನ್ನು ಮರುಸ್ಥಾಪಿಸಬೇಕಾಗುತ್ತದೆ ಅಥವಾ ಇಡೀ ಕ್ಲಸ್ಟರ್ ಅನ್ನು ಮರುನಿರ್ಮಿಸಬೇಕಾಗುತ್ತದೆ, ಇದು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುವ ಮತ್ತು ತಪ್ಪುಗಳಿಗೆ ಒಳಗಾಗುವ ಪ್ರಕ್ರಿಯೆಯಾಗಿದೆ.

ಎರಡು ಹಂತದ ಅಪ್‌ಗ್ರೇಡ್ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ

ಹೊಸ ಪ್ರಕ್ರಿಯೆಯು ಅಪ್‌ಗ್ರೇಡ್ ಅನ್ನು ಎರಡು ವಿಭಿನ್ನ ಹಂತಗಳಾಗಿ ವಿಭಜಿಸುತ್ತದೆ:

  • ಹಂತ 1 – ಬೈನರಿ ಅಪ್‌ಗ್ರೇಡ್ (emulated mode). GKE ಹಳೆಯ ಡೇಟಾ ಫಾರ್ಮ್ಯಾಟ್ ಅನ್ನು ಉಳಿಸಿಕೊಂಡು, ಕಂಟ್ರೋಲ್-ಪ್ಲೇನ್ ಬೈನರಿಗಳನ್ನು ಗುರಿ ವರ್ಷನ್‌ಗೆ ಬದಲಾಯಿಸುತ್ತದೆ. ಯಾವುದೇ ಹೊಸ ಡೇಟಾ ರಚನೆಗಳನ್ನು ಬರೆಯದ ಕಾರಣ, ಈ ಹಂತದ ಉದ್ದಕ್ಕೂ ಕ್ಲಸ್ಟರ್ ರೋಲ್‌ಬ್ಯಾಕ್-ಸುರಕ್ಷಿತವಾಗಿರುತ್ತದೆ (rollback-safe).
  • ಹಂತ 2 – ಫೈನಲೈಸೇಶನ್ (Finalization). ಕಾನ್ಫಿಗರಬಲ್ ಕಾಯುವ ಅವಧಿಯ ನಂತರ, GKE ಸಂಗ್ರಹಿಸಲಾದ ಡೇಟಾವನ್ನು ಹೊಸ ಫಾರ್ಮ್ಯಾಟ್‌ಗೆ ಪರಿವರ್ತಿಸುತ್ತದೆ. ಈ ಪರಿವರ್ತನೆ ಮುಗಿದ ನಂತರ, ರೋಲ್‌ಬ್ಯಾಕ್ ಮಾಡಲು ಹಳೆಯ ಸ್ನ್ಯಾಪ್‌ಶಾಟ್-ಮರುಸ್ಥಾಪನೆಯ ಪ್ರಯತ್ನವೇ ಬೇಕಾಗುತ್ತದೆ, ಇದನ್ನು ತಪ್ಪಿಸಲು ಈ ಎರಡು ಹಂತದ ಪ್ರಕ್ರಿಯೆಯನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ.

ಈ ಪ್ರತ್ಯೇಕತೆಯು ಒಂದು “soak window” ಅನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ, ಅಲ್ಲಿ ಆಪರೇಟರ್‌ಗಳು ಅಂತಿಮವಾಗಿ ಡೇಟಾ ಮೈಗ್ರೇಶನ್ ಮಾಡದೆ, ಅಪ್‌ಗ್ರೇಡ್ ಮಾಡಿದ ಬೈನರಿಗಳನ್ನು ಪ್ರೊಡಕ್ಷನ್‌ನಲ್ಲಿ ಗಮನಿಸಬಹುದು.

ಪ್ರಾಯೋಗಿಕವಾಗಿ soak window

GKE ಸೋಕ್ ಅವಧಿಯಲ್ಲಿ ಪ್ರಮುಖ ಆರೋಗ್ಯ ಸೂಚಕಗಳನ್ನು (health metrics)—API latency, error rates, ಮತ್ತು pod health ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುತ್ತದೆ. ಸೇವೆಯು ಅಸಮತೋಲನವನ್ನು (anomalies) ಪತ್ತೆಹಚ್ಚಿದರೆ, ಅದು ರೋಲ್‌ಔಟ್ ಅನ್ನು ನಿಲ್ಲಿಸುತ್ತದೆ, ಇದರಿಂದ ಕ್ಲಸ್ಟರ್ ಬೈನರಿ-ಮಾತ್ರದ ಸ್ಥಿತಿಯಲ್ಲಿರುತ್ತದೆ ಮತ್ತು ರೋಲ್‌ಬ್ಯಾಕ್ ಮಾಡುವುದು ಇನ್ನೂ ಸಾಧ್ಯವಾಗುತ್ತದೆ. ಈ ಮಾದರಿಯನ್ನು ಅನುಸರಿಸುವ ಅಪ್‌ಗ್ರೇಡ್‌ಗಳಿಗೆ Google 99.999% ಯಶಸ್ಸಿನ ದರವನ್ನು ಉಲ್ಲೇಖಿಸಿದೆ.

GKE ಯ ಆಟೋ-ಅಪ್‌ಗ್ರೇಡ್ ಫೀಚರ್ ಬಳಸುವ ಕ್ಲಸ್ಟರ್‌ಗಳಿಗಾಗಿ, ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಯಾವುದೇ ಮಾನವ ಹಸ್ತಕ್ಷೇಪವಿಲ್ಲದೆ ಇಡೀ ಎರಡು ಹಂತದ ಸರಣಿಯನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ. ಪೂರ್ಣ ನಿಯಂತ್ರಣವನ್ನು ಬಯಸುವ ಬಳಕೆದಾರರು Cloud CLI ಅಥವಾ Terraform ಮೂಲಕ ಈ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪ್ರಾರಂಭಿಸಬಹುದು.

ಮ್ಯಾನುಯಲ್ ಎರಡು ಹಂತದ ಅಪ್‌ಗ್ರೇಡ್ ಮಾಡುವುದು

48-ಗಂಟೆಗಳ ಸುರಕ್ಷತಾ ಅವಧಿಯೊಂದಿಗೆ ಒಂದು ಸಾಮಾನ್ಯ ಮ್ಯಾನುಯಲ್ ಅಪ್‌ಗ್ರೇಡ್ ಹೀಗಿರುತ್ತದೆ:

gcloud beta container clusters upgrade my-cluster \
  --location=us-central1 \
  --cluster-version=1.34.1-gke.1829001 \
  --control-plane-soak-duration=48h \
  --master

ಪ್ರಸ್ತುತ ಸ್ಥಿತಿಯನ್ನು ಪರೀಕ್ಷಿಸಲು:

gcloud container clusters describe my-cluster \
  --location=us-central1 \
  --format="yaml(rollbackSafeUpgradeStatus)"

ಸೋಕ್ ಅವಧಿಯಲ್ಲಿ ದೋಷವು ಕಂಡುಬಂದರೆ, ಅಡ್ಮಿನಿಸ್ಟ್ರೇಟರ್ ಡೇಟಾ ನಷ್ಟವಿಲ್ಲದೆ ರೋಲ್‌ಬ್ಯಾಕ್ ಕಮಾಂಡ್ ನೀಡಬಹುದು ಮತ್ತು ಹಿಂದಿನ ವರ್ಷನ್‌ಗೆ ಮರಳಬಹುದು. ಕ್ಲಸ್ಟರ್ ಸ್ಥಿರವೆಂದು ಸಾಬೀತಾದಾಗ, complete-control-plane-upgrade ಕಮಾಂಡ್ ಬಳಸಿ ಅಪ್‌ಗ್ರೇಡ್ ಅನ್ನು ಮೊದಲೇ ಪೂರ್ಣಗೊಳಿಸಬಹುದು.

ಮಿತಿಗಳು ಮತ್ತು ಅವಶ್ಯಕತೆಗಳು

  • ಈ ಫೀಚರ್ 1.33 ಅಥವಾ ನಂತರದ ವರ್ಷನ್ ಚಲಾಯಿಸುವ GKE ಕ್ಲಸ್ಟರ್‌ಗಳಿಗೆ ಅನ್ವಯಿಸುತ್ತದೆ.
  • ಏಕಕಾಲದಲ್ಲಿ ಕೇವಲ ಒಂದು ಮೈನರ್ ವರ್ಷನ್ ಅನ್ನು ಅಪ್‌ಗ್ರೇಡ್ ಮಾಡಬಹುದು; ವರ್ಷನ್‌ಗಳನ್ನು ಬಿಟ್ಟುಕೊಂಡು ಹೋಗುವುದು (skipping versions) ಬೆಂಬಲಿತವಾಗಿಲ್ಲ.
  • ಎರಡು ಹಂತದ ಪ್ರಕ್ರಿಯೆಯ ಉದ್ದಕ್ಕೂ Autopilot ಮತ್ತು ರೀಜನಲ್ ಕ್ಲಸ್ಟರ್‌ಗಳು ಲಭ್ಯವಿರುತ್ತವೆ.

ಸಂಭಾವ್ಯ ಅನಾನುಕೂಲಗಳು

ಬೈನರಿ ಮತ್ತು ಡೇಟಾ ಅಪ್‌ಗ್ರೇಡ್‌ಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸುವುದು ಅಪ್‌ಗ್ರೇಡ್ ವೇಳಾಪಟ್ಟಿಗೆ ಒಂದು ಹೆಚ್ಚುವರಿ ಹಂತವನ್ನು ಸೇರಿಸುತ್ತದೆ, ಇದು ತ್ವರಿತ ವರ್ಷನ್ ಬದಲಾವಣೆಗಳು ಬೇಕಾದ ಸಂಸ್ಥೆಗಳಿಗೆ ಒಟ್ಟಾರೆ ಅವಧಿಯನ್ನು ವಿಸ್ತರಿಸಬಹುದು. ಸೋಕ್ ಅವಧಿಯು ಸ್ವಯಂಚಾಲಿತ ಆರೋಗ್ಯ ತಪಾಸಣೆಗಳ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿದೆ; ಹೆಚ್ಚು ಕಸ್ಟಮೈಸ್ ಮಾಡಿದ ವರ್ಕ್‌ಲೋಡ್‌ಗಳನ್ನು (workloads) ನಡೆಸುವ ತಂಡಗಳು ಎಡ್ಜ್-ಕೇಸ್ ರಿಗ್ರೆಷನ್‌ಗಳನ್ನು (edge-case regressions) ಪತ್ತೆಹಚ್ಚಲು GKE ನ ಮೇಲ್ವಿಚಾರಣೆಗೆ ತಮ್ಮದೇ ಆದ ಅಬ್ಸರ್ವೇಬಿಲಿಟಿ ಟೂಲ್‌ಗಳನ್ನು (observability tooling) ಬಳಸಬೇಕಾಗಬಹುದು.

ಮುಂದೆ ಏನನ್ನು ಗಮನಿಸಬೇಕು

ಮೇಜರ್ ವರ್ಷನ್ ಅಪ್‌ಗ್ರೇಡ್‌ಗಳಿಗೆ ಈ ಎರಡು ಹಂತದ ಮಾದರಿಯನ್ನು ವಿಸ್ತರಿಸಲು Google ಯಾವುದೇ ರೋಡ್‌ಮ್ಯಾಪ್ ಅನ್ನು ಬಹಿರಂಗಪಡಿಸಿಲ್ಲ, ಏಕೆಂದರೆ ಹೆಚ್ಚಿನ ಸಂದರ್ಭಗಳಲ್ಲಿ ಇವುಗಳಿಗೆ ಇಡೀ ಕ್ಲಸ್ಟರ್ ಮರುಸೃಷ್ಟಿಯ ಅಗತ್ಯವಿರುತ್ತದೆ. ನೋಡ್-ಪೂಲ್ (node-pool) ಅಪ್‌ಗ್ರೇಡ್‌ಗಳಿಗಾಗಿ ಮತ್ತು ಸೋಕ್-ವಿಂಡೋ ಚೆಕ್‌ಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸಬಲ್ಲ ಯಾವುದೇ ಥರ್ಡ್-ಪಾರ್ಟಿ CI/CD ಪೈಪ್‌ಲೈನ್‌ಗಳೊಂದಿಗೆ ಏಕೀಕರಣದ ಬಗ್ಗೆ ಪ್ರಕಟಣೆಗಳಿಗಾಗಿ ವೀಕ್ಷಕರು ಕಾಯುತ್ತಿದ್ದಾರೆ.

ಸಾರಾಂಶ: ಬೈನರಿ ಅಪ್‌ಗ್ರೇಡ್‌ಗಳನ್ನು ಡೇಟಾ ಮೈಗ್ರೇಶನ್‌ಗಳಿಂದ ಬೇರ್ಪಡಿಸುವ ಮೂಲಕ, GKE ಮೈನರ್ ವರ್ಷನ್ ಬದಲಾವಣೆಗಳಿಗೆ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಇಂಜಿನಿಯರ್‌ಗಳಿಗೆ ಒಂದು ಪ್ರಾಯೋಗಿಕ ರೋಲ್‌ಬ್ಯಾಕ್ ವಿಂಡೋವನ್ನು ನೀಡುತ್ತದೆ, ಇದು ಡೌನ್‌ಟೈಮ್ ಅನ್ನು ಕನಿಷ್ಠ ಮಟ್ಟದಲ್ಲಿ ಇರಿಸಿಕೊಳ್ಳುವ ಮೂಲಕ ಕ್ಲಸ್ಟರ್ ನಿರ್ವಹಣೆಯ ಕಾರ್ಯಾಚರಣೆಯ ವೆಚ್ಚವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.