pavel
не, я вник на каком то уровне, просто хочется более опытного человека , который бы затыки раскидал, что надо что не надо как лучше и тд
Andrey
Добрый день. У вас получилось log_format настроить?
Ну способ я нашел, но решил не использовать. Суть там в том что можно добавить нужные форматы через кастомные строки конфига. мне это показалось несколько костыльным решением
Andrey
А можешь рассказать как настроил? У меня похожая задача
никак. Говорю ж, забил. Просто сделали единый лог формат и все.
Andrey
Есть еще вариант со вторым ingress контроллером. Но тоже такое себе изобретение.
Alex
никак. Говорю ж, забил. Просто сделали единый лог формат и все.
А единый формат в какой сущности настраивал?
Andrey
А единый формат в какой сущности настраивал?
Единый формат лога для всех ингрессов.
George
или вы хотели проперти типа log_format : "default" | "json" | ....
Andrey
мне кажется оке, что можно хотя бы через кастомные
хз, я не сторонник такого. Но у меня ничего суперсложного и не было.
Andrey
или вы хотели проперти типа log_format : "default" | "json" | ....
Да, хотел чтоб можно было пропертями его прописать. А сам формат задать в конфиге рядом с обычным.
George
пиши тогда ишью, ссылку сюда и я плюсану
George
но вообще nginx в качестве ингрес - это прям секурно ((((
George
сломать его через инжект snippet'а - бесценно
Andrey
пиши тогда ишью, ссылку сюда и я плюсану
Да вот была issue. Там ребята послали юзать кастомные инжекты. https://github.com/kubernetes/ingress-nginx/issues/2615 Alex тебе может быть полезно в плане решения твоей задачи кстати.
Vahe
а как сделать так, чтобы сервис NodePort был доступен и снаружи?
Sergey V
можно сгенерировать кубеконфиг для пользователя а не для сервисаккаунта?
Sergey V
User accounts are for humans. Service accounts are for processes, which run in pods.
Sergey V
вот хочу дать пользователю доступ в один неймспейс, а чтото не найду как кубеконфиг ему сделать
Sergey V
сервисаккаунту все просто делается
Alex
хм, а что сложного?
Alex
просто сгенерить ключ
Alex
и дать ему права
Solyar
и ходить по <master-ip>:<nodeport>
Sergey V
можно пример?
Sergey V
ключ генерируется из токена, а токен в сервис аккаунте
Sergey V
а где токен для пользователя взять?
Sergey V
вобще немного странно в RoleBinding можно указать и ServiceAccount и User
Alex
https://docs.bitnami.com/kubernetes/how-to/configure-rbac-in-your-kubernetes-cluster/
Sergey V
но понятия Юзер в самом кубере нету
Alex
вот там начинать читать от Step 2: Create the user credentials
Sergey V
ага. спасибо большое
Alex
токен - это просто сертификат, подписанный CA кластера
Vahe
у казать в сервисе NodePort
у меня вот такой стоит конфиг на сервис
Vahe
apiVersion: v1 kind: Service metadata: name: {{ template "sgm.fullname" . }}-service spec: type: NodePort selector: app: {{ template "sgm.fullname" . }} ports: - port: 80 targetPort: 8080
Vahe
но миникуб открывает его только для IP адресса типа 192.168.*.*
Vahe
ага
Solyar
Тогда указывайте type: LoadBalancer
Solyar
и готовьте белый IP
Vahe
понятно, пропустил значит в документации) пойду прочитаю
Vahe
спасибо
Sergey V
для LoadBalancer кубер должен в облаке работает , если не ошибаюсь.
Sergey V
тогда он использует облачный балансировщик
Solyar
Можно юзать MetalLB
Sergey V
@drakmail , спасибо еще раз. все получилось
Igor
парни, а кто нибудь настраивал AWS NLB в качестве балансера для nginx ingress?
Sergey V
кстати раз речьт про серты зашла. при установке с помощью kubeadm создаются сертификаты сроком на год. что будет по прошествии этого года? кубер перевыпустит серты сам? или это вручную надо делать?
Alex
всё сломается
Sergey V
и как быть. есть дока как это бесшовно сделать?
Alex
у меня еще пол года осталось, пока не смотрел :D
Sergey V
или раз в год можно обновлять версию кубера с переездом, там и серты новые уже будут?
Sergey V
)))
Yury
Отличный способ заставлять обновляться )
Sergey V
когда там 1.15 выйдет? можно начинать ставить, полгода быстро пролетят
Anton
https://habr.com/ru/company/flant/blog/456084/
Vadim
чот релиз тим уже на два дня опоздали и новых эстимейтов сходу не нашел
Peter
Почему не хочет работать? apiVersion: networking.istio.io/v1alpha3 kind: DestinationRule metadata: name: test-frontend-rule namespace: test spec: host: test-frontend-svc subsets: - name: frontend-v3 labels: version: "3.0" - name: frontend-v4 labels: version: "4.0" — apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: test-frontend-80-20-route namespace: test spec: hosts: - test-frontend-svc http: - route: - destination: host: test-frontend-svc subset: frontend-v3 weight: 80 - destination: host: test-frontend-svc subset: frontend-v4 weight: 20
Peter
Упорно рисует по, примерно, 50%
Alex Sharov
подскажите пожалуйста что я делаю не так: создал emptyDir: - name: shared-data emptyDir: {} в initContainers монтирую вот так: volumeMounts: - name: shared-data mountPath: "/shared-data" в основном контейнере пытаюсь читать файлик который мне приготовил initContainer, волум тоже примонтировал аналогичным образом. volumeMounts: - name: shared-data mountPath: "/shared-data" в итоге: cat: /shared-data/myfile: No such file or directory
George
а проверь - там файлы вообще есть?
George
тупо зайти в контейнер и посмотреть глазками
The
Подскажите плиз, eviction manager маркает все поды на ноде (single node setup at baremetall) якобы из-за превышения ephemeral-storage лимитов (они 0). Можно ли как то отключить?
Mik
Ребят никто не сталкивался с проблемой rabbitmq в докере что оно не переопределяет default_user and default_pass?
Solyar
Правильно смонтируйте конфигмап
Solyar
и будет счастье
Solyar
apiVersion: v1 kind: ConfigMap metadata: name : test-cfgmap data: rabbitmq.conf: | ... bla bla bla ... default_user = test default_pass = test ... bla bla bla ... --- apiVersion: apps/v1 kind: StatefulSet metadata: name: rabbitmq spec: ... volumeMounts: - name: config-volume mountPath: /etc/rabbitmq ... volumes: - name: config-volume configMap: name: test-cfgmap items: - key: rabbitmq.conf path: rabbitmq.conf
Mik
я их пробрасываю через сикрет а не конфигом в конфигмапе. в Контенере в переменных они есть а вот сам ребит не создает юзера
George
Смотрите внимательно в докер энтрипойнт и что он делает
Stefan
добрый вечер) я конечно понимаю, что чем меньше публичных айпишников в кубере, тем лучше, но есть такое непонимание Bastion server(aws), который подымится копсом только с этого сервака можно попасть внутрь кластера кубера учитывая что у меня битбакет клауд, который должен ломиться извне и использовать имейдж, который занимается деплоем, не понятно каким образом мне правильно делать деплой например есть степ, который выполняется в подготовленном мною имейдже: - echo $KOPS_CONTEXT | base64 -d > /root/.kube/config - echo "$API_IP_RM_CLUSTER $API_RM_CLUSTER" >> /etc/hosts - kubectl config use-context $K8S_CLUSTER_RM - kubectl get deployment -n dev rm-interface-platform-transmitter-server -o json | jq ".spec.template.spec.containers[0].image = \"rm.domain.io/rm/ipts:$BITBUCKET_BUILD_NUMBER\"" | kubectl apply -f - учитывая что есть публичный айпишник и приватное(вымышленное DNS имя API), то я хотя бы элементарно добавив его в хосты, могу спокойно всё продеплоить но что тогда делать, когда я в копсе укажу что топология должна быть PRIVATE и все ноды тоже PRIVATE? мне кажется или я тогда не смогу подобным образом реализовать схему деплоя, в случае использования бастиона? хочу осознать подход в деплое, в случае такой закрытости инфраструктуры, буду очень благодарен за объективную критику
George
добрый вечер) я конечно понимаю, что чем меньше публичных айпишников в кубере, тем лучше, но есть такое непонимание Bastion server(aws), который подымится копсом только с этого сервака можно попасть внутрь кластера кубера учитывая что у меня битбакет клауд, который должен ломиться извне и использовать имейдж, который занимается деплоем, не понятно каким образом мне правильно делать деплой например есть степ, который выполняется в подготовленном мною имейдже: - echo $KOPS_CONTEXT | base64 -d > /root/.kube/config - echo "$API_IP_RM_CLUSTER $API_RM_CLUSTER" >> /etc/hosts - kubectl config use-context $K8S_CLUSTER_RM - kubectl get deployment -n dev rm-interface-platform-transmitter-server -o json | jq ".spec.template.spec.containers[0].image = \"rm.domain.io/rm/ipts:$BITBUCKET_BUILD_NUMBER\"" | kubectl apply -f - учитывая что есть публичный айпишник и приватное(вымышленное DNS имя API), то я хотя бы элементарно добавив его в хосты, могу спокойно всё продеплоить но что тогда делать, когда я в копсе укажу что топология должна быть PRIVATE и все ноды тоже PRIVATE? мне кажется или я тогда не смогу подобным образом реализовать схему деплоя, в случае использования бастиона? хочу осознать подход в деплое, в случае такой закрытости инфраструктуры, буду очень благодарен за объективную критику
Ссш туннель умеешь ?
George
ssh -L 8443:ip:8443 blablabla