compat.go 981 B

1234567891011121314151617181920212223242526272829303132333435
  1. package util
  2. import (
  3. v1 "k8s.io/api/core/v1"
  4. )
  5. func GetRegion(labels map[string]string) (string, bool) {
  6. if _, ok := labels[v1.LabelZoneRegion]; ok {
  7. return labels[v1.LabelZoneRegion], true
  8. } else if _, ok := labels["topology.kubernetes.io/region"]; ok { // Label as of 1.17
  9. return labels["topology.kubernetes.io/region"], true
  10. } else {
  11. return "", false
  12. }
  13. }
  14. func GetInstanceType(labels map[string]string) (string, bool) {
  15. if _, ok := labels[v1.LabelInstanceType]; ok {
  16. return labels[v1.LabelInstanceType], true
  17. } else if _, ok := labels["node.kubernetes.io/instance-type"]; ok {
  18. return labels["node.kubernetes.io/instance-type"], true
  19. } else {
  20. return "", false
  21. }
  22. }
  23. func GetOperatingSystem(labels map[string]string) (string, bool) {
  24. if _, ok := labels[v1.LabelOSStable]; ok {
  25. return labels[v1.LabelOSStable], true
  26. } else if _, ok := labels["beta.kubernetes.io/os"]; ok {
  27. return labels["beta.kubernetes.io/os"], true
  28. } else {
  29. return "", false
  30. }
  31. }