Мне выставляют счет за использование узла, если я оцеплю и осушу узел?
Я изучаю GKE (Google Kubernetes Engine), и у меня есть кластер с 2 пулами узлов:
➜ ~ gcloud container node-pools list
NAME MACHINE_TYPE DISK_SIZE_GB NODE_VERSION
pool-2 n1-standard-1 10 1.14.10-gke.24
pool-n1-standard-2 n1-standard-2 10 1.14.10-gke.24
У меня есть 1 узел в каждом пуле узлов:
➜ ~ kubectl get node
NAME STATUS ROLES AGE VERSION
gke-cluster-1-pool-2-bec144d8-rqb8 Ready <none> 8d v1.14.10-gke.24
gke-cluster-1-pool-n1-standard-2-892e9394-b8x8 Ready <none> 5h11m v1.14.10-gke.24
➜ ~ kubectl describe node | grep -i cloud.google.com/gke-nodepool
cloud.google.com/gke-nodepool=pool-2
cloud.google.com/gke-nodepool=pool-n1-standard-2
Я хочу, чтобы мои стручки работали на
n1-standard-1
machine, пока я разрабатываю систему, поэтому я оцепил более дорогой узел, а затем осушил его:
➜ ~ kubectl cordon gke-cluster-1-pool-n1-standard-2-892e9394-b8x8
node/gke-cluster-1-pool-n1-standard-2-892e9394-b8x8 cordoned
➜ ~ kubectl drain gke-cluster-1-pool-n1-standard-2-892e9394-b8x8
node/gke-cluster-1-pool-n1-standard-2-892e9394-b8x8 already cordoned
node/gke-cluster-1-pool-n1-standard-2-892e9394-b8x8 drained
После этого я ожидаю, что все модули будут выселены, но перечисление модулей на этом узле все еще показывает, что некоторые "системные" модули работают:
➜ ~ kubectl get pods --all-namespaces -o wide --field-selector spec.nodeName=gke-cluster-1-pool-n1-standard-2-892e9394-b8x8
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
kube-system kube-proxy-gke-cluster-1-pool-n1-standard-2-892e9394-b8x8 1/1 Running 0 5h22m 10.138.0.7 gke-cluster-1-pool-n1-standard-2-892e9394-b8x8 <none> <none>
Итак, мой вопрос:
1 ответ
kube-proxy
это сетевой прокси, который работает на всех узлах GKE. В GKE есть правила на основе Iptables, позволяющие сетевое взаимодействие модулей в кластере. Вы можете подключиться к модулю с помощьюkubectl exec -ti -n kube-system KUBE-PROXY-POD-NAME /bin/sh
и выполнитьiptables -L -n
чтобы увидеть правила Iptables. Подробнее о kube-proxy.Цены - да, Google взимает полную стоимость за любой работающий экземпляр. Не имеет значения, запущено ли у вас приложение или модуль или нет. Плата взимается за зарезервированные вычислительные ресурсы / память / хранилище виртуальной машины. Если вы не хотите, чтобы с вас взималась плата, удалите экземпляр. Вы также можете снизить комиссию, используя вытесняемые виртуальные машины для узлов gke.