pavel
не, я вник на каком то уровне, просто хочется более опытного человека , который бы затыки раскидал, что надо что не надо как лучше и тд
Alex
Andrey
Есть еще вариант со вторым ingress контроллером. Но тоже такое себе изобретение.
Alex
George
Andrey
George
или вы хотели проперти типа log_format : "default" | "json" | ....
Vadim
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
сервисаккаунту все просто делается
Solyar
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
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.*.*
Solyar
Vahe
ага
Solyar
Тогда указывайте type: LoadBalancer
Solyar
и готовьте белый IP
Vahe
понятно, пропустил значит в документации) пойду прочитаю
Vahe
спасибо
Sergey V
для LoadBalancer кубер должен в облаке работает , если не ошибаюсь.
Sergey V
тогда он использует облачный балансировщик
Solyar
Solyar
Можно юзать MetalLB
Sergey V
@drakmail , спасибо еще раз. все получилось
Alex
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
и будет счастье
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
Solyar
Mik
я их пробрасываю через сикрет а не конфигом в конфигмапе. в Контенере в переменных они есть а вот сам ребит не создает юзера
George
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? мне кажется или я тогда не смогу подобным образом реализовать схему деплоя, в случае использования бастиона? хочу осознать подход в деплое, в случае такой закрытости инфраструктуры, буду очень благодарен за объективную критику
Ссш туннель умеешь ?
Solyar
George
ssh -L 8443:ip:8443 blablabla