Andrey
yum install -y kubectl kubelet kubeadm
Andor
Звучит неплохо
Andrey
если это сарказм.. то не совсем понимаю о чем речь 😅, с кубом раньше не работал
Andrey
firewalld отключен, вот по докеру не смотрел..
Andor
С докером тоже не очень опыта, да?
Andrey
есть такое..
E
быть может нода не в секурити груп, и провайдер не пускает подовские айпи
Andrey
изнутри даже шлюз не пингует
Alexander
Парни, изучаю k8s и наткунлся на microk8s. Вопрос для старта и организации dev среды подойте? Рабочие места под ubuntu minikube не понравился тем что запускается под виртуалкой и и падает производительность.
Aleksandr
@asigatchov minikube можно запускать и без виртуалки, на хост-системе.
Rainbow
Парни, изучаю k8s и наткунлся на microk8s. Вопрос для старта и организации dev среды подойте? Рабочие места под ubuntu minikube не понравился тем что запускается под виртуалкой и и падает производительность.
используйте docker-compose для локалки. Нет никакого смысла всем держать k8s. Это одно из мнений 😐 контейнер должен быть гибким. А не расчитывать что в k8s dns так работает, а в другом месте по другому и тп
Alexander
плюсану, лучше приготовить отдельный конфиг композа для локального разворачивания
Alex
плюсую, локально использовать композ, как мне кажется, самый удобный способ
Rainbow
там плюсов для dev нет, кроме сложностей
Alexander
а когда плюсы начинаеются? Как простым смертным приобщиться к хайпу? ) а главное понять что пора что от менять? Есть разработка активно использующая docker и production на своих серверах. часть приложений раскатаны просто по севрерам часть в докерах запущено. и возникает боль когда нужно понять где еще есть запас ресурсво, а где нужно что то убирать. Открываешь доклады типа https://www.youtube.com/watch?v=CgCLPYJRxbU и думаешь - вот она серебренная пуля
Sergey
а на самом деле везде свои тонкости(кеп)
engelbart
А кто нибудь использует helm chart stable/elasticsearch? можете на пальцах объяснить в чём разница client/master/data там?
engelbart
кажется я нагуглил. Просто вот меня удивляет вот что. Помогите. Я смотрю в сам helm https://github.com/helm/charts/tree/master/stable/elasticsearch/templates и не вижу там deployments для master/data нод, как же так
engelbart
должен же быть, да?
Anton
должен же быть, да?
для master\data нод используется statefulsets
engelbart
Спасибо!
Anton
Спасибо!
client роль не хранит в себе данных, поэтому ее намазывают в kind: deployment. остальным ролям нужно персистить данные, каждой реплике свои. так что все остальное описано в kind: statefulsets
engelbart
helm можно попросить ждать подольше?
Vladimir
helm upgrade —install ... --wait --timeout xxx
Etki
--oh-wait
Etki
--oh-shi~
Никита
--oh-shi~
Хороший алиас к роллбеку)
Alex Sharov
Народ, а подскажите пожалуйста как прицепить LoadBalancer к EIL & Route53? Кластер развернут на ec2 с помощью ранчера
Incognito
надо создавать лоадбалансер самому руками и прикручивать ему targetgroup
Дима Сис. Админ
Народ подскажите плиз как залогинится в Кубер дашбоард если адрес дашбоарда не 127.0.0.1
E
при kubectl proxy он будет на 127.0.0.1, не? или доступ к нему есть и дашборд спрашивает логин/пароль?
E
https://github.com/kubernetes/dashboard#getting-started
Дима Сис. Админ
Incognito
нашел вот такой прикольный "костыль", как можно описывать недостающие(не полностью описаные в провайдере) ресурсы кубера, при использовании терраформ https://github.com/terraform-providers/terraform-provider-kubernetes/issues/14#issuecomment-468041269
Terry
https://cd.foundation
Artem
Кто-нибудь знает где есть хорошие доки/гайды по разработке с помощью operator-sdk?
Artem
После официального гайда и сгенерированного кода осталось много темных пятен в понимании общей картины...
Zhyhanov
Ребят а кто как скейлит деплойменты с java, по каким метрикам ориентироваться ?
Grigorii
нужно посмотреть в мониторинге, что у вас растет вместе с количеством реквестов (если вы хотите на реквесты скейлить) если cpu растет, можно по нему скейлить, можно на latency ориентироваться, типа если стало слишком долго отдавать ответ. Это зависит от того что ваше приложегние делает внутри но самое первое всегда это посмотреть на мониторинг и понять картину
Rainbow
а если коротко, то автоматизировать воздух не стоит. Сами пару раз отскейлите руками и будет ясно как настраивать.
Grigorii
по rate(open_tickets{"website_too_slow"}) ;)
Rainbow
😂
Zhyhanov
спасибо за инфорамацию, а есть какой оператор который будет запрашивать информацию по времени затраченного на операцию и говорить куберу скейлить или не скейлить. Эта инфа у нас в еластик слаживается и потом графаной все это отслеживаем
Zhyhanov
но хотелось бы попробывать автоматизировать воздух :)
Grigorii
не знаю что ты имеешь в виду под "операцией", но если у тебя есть для нее условная метрика в прометее, то ты можешь заюзать вот этот адаптер например: https://github.com/directxman12/k8s-prometheus-adapter он берет эти метрики из прометея и экспортит их в виде Resource Metrics API, который нужен для работы HPA
Grigorii
можешь погуглить HPA custom metrics, там несколько туториалов было
Zhyhanov
сорри за не понятный посыл, но вы меня поняли, есть подобное что бы забирать метрики не из прометея например а из еластика ?)
Grigorii
надо гуглить) я просто только с прометеем работал для HPA
Zhyhanov
понял спасибо за разьеснения :)
Mik
Ребят кто деплоит кубик в GCP через тераформ, не сталкивались с такой штукой Error: Error applying plan: 1 error(s) occurred: * module.gke.google_container_cluster.primary: Resource 'data.google_compute_subnetwork.gke_subnetwork' not found for variable 'data.google_compute_subnetwork.gke_subnetwork.self_link'provider "google-beta" { version = "<=2.0.0" credentials = "${file("${var.key_file}")}" project = "${var.project_name}" region = "${var.region}" } module "gke" { providers = { google ="google-beta" } source = "terraform-google-modules/kubernetes-engine/google" project_id = "${var.project_name}" name = "stage-gke-ng-1" region = "${var.region}" zones = ["${var.region}-a", "${var.region}-b", "${var.region}-f"] network = "vpc-01" subnetwork = "${var.region}-01" ip_range_pods = "${var.region}-01-gke-01-pods" ip_range_services = "${var.region}-01-gke-01-services" http_load_balancing = true horizontal_pod_autoscaling = true kubernetes_dashboard = true network_policy = true node_pools = [ { name = "ng-node-pool" machine_type = "n1-standard-2" min_count = 1 max_count = 2 disk_size_gb = 100 disk_type = "pd-standard" image_type = "COS" auto_repair = true auto_upgrade = true service_account = "d" preemptible = true initial_node_count = 2 }, ] # remove_default_node_pool = true node_pools_labels = { all = {} ng-node-pool = {} } # node_pools_metadata = { # # all = {} # # ng-node-pool = {} # } node_pools_taints = { all = [] ng-node-pool = [] } node_pools_tags = { all = [] ng-node-pool = [] } }
G72K
Ребят кто деплоит кубик в GCP через тераформ, не сталкивались с такой штукой Error: Error applying plan: 1 error(s) occurred: * module.gke.google_container_cluster.primary: Resource 'data.google_compute_subnetwork.gke_subnetwork' not found for variable 'data.google_compute_subnetwork.gke_subnetwork.self_link'provider "google-beta" { version = "<=2.0.0" credentials = "${file("${var.key_file}")}" project = "${var.project_name}" region = "${var.region}" } module "gke" { providers = { google ="google-beta" } source = "terraform-google-modules/kubernetes-engine/google" project_id = "${var.project_name}" name = "stage-gke-ng-1" region = "${var.region}" zones = ["${var.region}-a", "${var.region}-b", "${var.region}-f"] network = "vpc-01" subnetwork = "${var.region}-01" ip_range_pods = "${var.region}-01-gke-01-pods" ip_range_services = "${var.region}-01-gke-01-services" http_load_balancing = true horizontal_pod_autoscaling = true kubernetes_dashboard = true network_policy = true node_pools = [ { name = "ng-node-pool" machine_type = "n1-standard-2" min_count = 1 max_count = 2 disk_size_gb = 100 disk_type = "pd-standard" image_type = "COS" auto_repair = true auto_upgrade = true service_account = "d" preemptible = true initial_node_count = 2 }, ] # remove_default_node_pool = true node_pools_labels = { all = {} ng-node-pool = {} } # node_pools_metadata = { # # all = {} # # ng-node-pool = {} # } node_pools_taints = { all = [] ng-node-pool = [] } node_pools_tags = { all = [] ng-node-pool = [] } }
Чисто терраформовская проблема
Incognito
Чисто терраформовская проблема
Incognito
Ребят кто деплоит кубик в GCP через тераформ, не сталкивались с такой штукой Error: Error applying plan: 1 error(s) occurred: * module.gke.google_container_cluster.primary: Resource 'data.google_compute_subnetwork.gke_subnetwork' not found for variable 'data.google_compute_subnetwork.gke_subnetwork.self_link'provider "google-beta" { version = "<=2.0.0" credentials = "${file("${var.key_file}")}" project = "${var.project_name}" region = "${var.region}" } module "gke" { providers = { google ="google-beta" } source = "terraform-google-modules/kubernetes-engine/google" project_id = "${var.project_name}" name = "stage-gke-ng-1" region = "${var.region}" zones = ["${var.region}-a", "${var.region}-b", "${var.region}-f"] network = "vpc-01" subnetwork = "${var.region}-01" ip_range_pods = "${var.region}-01-gke-01-pods" ip_range_services = "${var.region}-01-gke-01-services" http_load_balancing = true horizontal_pod_autoscaling = true kubernetes_dashboard = true network_policy = true node_pools = [ { name = "ng-node-pool" machine_type = "n1-standard-2" min_count = 1 max_count = 2 disk_size_gb = 100 disk_type = "pd-standard" image_type = "COS" auto_repair = true auto_upgrade = true service_account = "d" preemptible = true initial_node_count = 2 }, ] # remove_default_node_pool = true node_pools_labels = { all = {} ng-node-pool = {} } # node_pools_metadata = { # # all = {} # # ng-node-pool = {} # } node_pools_taints = { all = [] ng-node-pool = [] } node_pools_tags = { all = [] ng-node-pool = [] } }
Я бы тебе не рекомендовал удалять дефолтный пул, из личного опыта :)
Incognito
При следующем запуске терраформ захочет его создать, а потом занаво удалить :)
Mik
При следующем запуске терраформ захочет его создать, а потом занаво удалить :)
Я тебе больше скажу оно ругается что не известная переменная когда я задаю удалить дефолт пулл, хотя в модуле все есть. Все больше склоняюсь к тому что нечего юзать чьето, потому как вот так оно все работает
Incognito
Я разворачиваю Кубер в GCP все норм :) давай не спамить, пиши в личку если что @Mik
RE
развернул в GCP графану: ' apiVersion: extensions/v1beta1 kind: Deployment metadata: name: grafana namespace: monitoring spec: replicas: 1 template: metadata: labels: app: grafana spec: containers: - name: grafana image: grafana/grafana ports: - containerPort: 3000 volumeMounts: - name: grafana-config-volume mountPath: /etc/grafana/ - name: grafana-storage-volume mountPath: /var/lib/grafana volumes: - name: grafana-config-volume configMap: defaultMode: 420 name: grafana-config - name: grafana-storage-volume emptyDir: {} ' свои конфиги она хранит в /var/lib/grafana сделал настройки, все ок. для проверки удалил под. я думал, что все, что было настроено и записалось в /var/lib/grafana должно остататься и новый под подхватит эти файлы. но оказалось, что это не так и графана запустилась в чистом виде.. чтото не правильно с конфигом деплоймента?
Vadim
emptyDir: {}
Antlar
чтобы все осталось, нужен persistent volume claim
Nikolay
An emptyDir volume is first created when a Pod is assigned to a Node, and exists as long as that Pod is running on that node. As the name says, it is initially empty. Containers in the Pod can all read and write the same files in the emptyDir volume, though that volume can be mounted at the same or different paths in each Container. When a Pod is removed from a node for any reason, the data in the emptyDir is deleted forever
RE
An emptyDir volume is first created when a Pod is assigned to a Node, and exists as long as that Pod is running on that node ах тыж блин
Antlar
Antlar
minio катали кстати?
Antlar
на железе
RE
config map для такого не подойдет?
Antlar
нет
Antlar
ты можешь графану конфиг мапами отконфигурить, если что
Antlar
но она все равно данные для графиков будет хранить в темп вольюме внутри контейнера
RE
ну мне надо чтобы после ребута контейнера, настройки дашборда и датасорса не удалились