Даня
подскажите плз, надежная ли фильтрация по айпишникам посредством ингрессов?
есть идея поднять сайдкар впн и ходить при помощи него на внутренние сервисы по типу мониторингов, дженкинсов и т.д.
Даня
и одновременно дать доступ к приложениям из мира
Stanislav
что значит "надёжная"?
Stanislav
Она точно такая же, как в том, на основе чего сделан ингресс
Stanislav
Если на nginx - см. как реализованы правила allow/deny и решай, насколько оно надёжно.
Rainbow
Rainbow
зачем ещё vpn?
Даня
а есть нужно допустим выдать девелоперам доступ к отдельным сервисам, по типу того же дженкинса
Stanislav
Авторизация basic + tls
Rainbow
Rainbow
basic auth просто один на все тимы
Rainbow
можно делать с сертификатом, но супер сильно не отличается, кроме сложностей.
Anton
Даня
хотелось бы сделать что-то на уровне нетворкинга, чтоб не похерить все и не выставить голой жопой в мир какой-нибудь сервис
Rainbow
keycloak+dex же нормальная связка? никак руки не дойдут поставить или я не так прочитал доки по ним? Менеджмент аккаунтов + auth proxy. Как раз для таких случаев.
Даня
была идея сделать фильтрацию через амазоновские сервисы и она, собственно, осталась наиболее актуальной
Anton
Даня
тобишь vpn -> security group -> alb -> routing node -> traefik -> worker node -> pod
Даня
или слишком переусложненно получается?
Rainbow
что-то мало звеньев, думаю нужно больше. Не сикюрно
Даня
Anton
Sergio
Сам только это разбираю. Пока логов не видит. Думал, может в неймспейсе флуэнта загвоздка
Vadim
Парни, помогите
Запускаю statefulSet с ДВУМЯ репликами, смотрю запущенные поды, вижу только одну реплику в статусе pending. при этом describe никаких ошибок не выдает.
Вот сет:
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
name: couchnode1
spec:
serviceName: "couchnode1"
replicas: 2
template:
metadata:
labels:
name: couchnode1
spec:
terminationGracePeriodSeconds: 10
containers:
- name: couch1
image: hyperledger/fabric-couchdb
env:
- name: COUCHDB_USER
value: "couch"
- name: COUCHDB_PASSWORD
value: "couchpass"
- name: DB_URL
value: "http://0.0.0.0:20192/member_db"
ports:
- containerPort: 30985
name: client
volumeClaimTemplates:
- metadata:
name: datadir
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 300Mi
Anton
describe для пода сделай
Anton
в statefulsets поды запускаются по мере готовности предыдущих
Vadim
что не так с моим pvc?
Anton
у тебя с репликой сгенерился pvc и он похоже не может для себя найти pv
Anton
видимо нужно сделать describe pvc
Vadim
Даня
никогда не слышал))
Даня
сейчас почитаю, спасибо
Vadim
заставляешь слушать jenkins/prometheus/grafana локально, ему в сайдкар ставишь auth прокси, которая аутентифицирует юзера через dex/whatever
Vadim
тот же oauth решает давать ему доступ или нет, у нас это искоропки
Никита
Вобщем, пока не уснул план такой, как посплю может пойму что хуйню сморозил:
- на нодах для кублетов и kube-proxy сделать нормальный L7 балансер до аписервер
- развешивать финалайзеры на всех endpoints, удалять их только когда нода выходит из NotReady или ее удаляют , это сохранит записи в ингресе. Сам ингресс хелсчекит поды и подвешенные записи не будут мешать, если под жив на самом деле
- "зависшие" из-за финалайзера ендпоинты будут мешать общаться внутри кластера, надо L7 балансер внутри подов сайдкаром (но без istio, кажется были менее инвазивные штуковины на енвое)
А зачем L7? Есть же встроенный дефолтный L4 kubernetes.default.svc. Правда, с кубпрокси в iptables-mode, наверное, не очень будет работать.
Никита
Исходный пост не читай @ сразу отвечай)
Artem
Ребят, вопрос про обновление helm. Вот есть у меня чарт, который запускает имадж из моего докер реджестри. Обновил я имадж, как мне после этого обновить его и в кластере?
Artem
сделать helm upgrade ?
Puma
Да
Stas
вы получили два плохих ответа на один плохой вопрос
V
Vadim
Помогите прицепить pvc для statefulSet к существующему pv
вроде вот указываю селектор, норм
...
volumeClaimTemplates:
- metadata:
name: datadir
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 1Gi
selector:
matchLabels:
name: sharedvolume
Но не работает. Что не так?
Vadim
ошибка: no persistent volumes available for this claim and no storage class is set
Stas
Vadim
парни, я сам не разберусь, блин. куда смотреть хотя бы?
Stas
Vadim
уже два дня учусь работать с кубиком исключительно благодаря сообществу)
Stas
Vadim
Stas
откуда кубу знать какой у тебя стореддный бэкенд без класса?
Vadim
@StanislavKhalup я думал, по лейблам
Даня
Sergey
#платиновые_треды_k8s
MRY
Всем привет. Какой сейчас фреймворк оркестровки k8s актуален, просто выпал из темы на пол года, может чего нового появилось или juju по прежнему актуален ? Вообще что-то новое может произошло в мире k8s за последнее время ?
Rainbow
MRY
Ty, посмотрю, вообще какие сейчас модные тенденции, слышал что docker умирает что-то другое идет на замену но не vrt и crictl точно ?
Vadim
criu наверно
MRY
да
MRY
вроде как
Kirill
всем привет. кто-нибудь юзает gluster с k8s? как ощущения? выходит же сложная система с гластером и Heketi?
G72K
Vladimir
Vadim
@StanislavKhalup создал StorageClass
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: local-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
Добавил класс в pvc для statefulSet
volumeClaimTemplates:
- metadata:
name: datadir
spec:
storageClassName: local-storage
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 1Gi
Но всё равно статус pending, не работает 😫
Михаил
А че, @StanislavKhalup разве не берет денег за тех поддержку?
Andrey
Andrey
criu - это крутое, но другое.
Stanislav
Народ, а как такое может быть что время жизни пода 5 часов, а uptime контейнера в нем 12 дней? 0_о или я уже вообще упоролся?!
Kirill
CRI-O же.
есть кстати какие-либо новости от RH/IBM про podman/libpod? Я спросил своих тут - молчат
Maxim
Кто-то менял время хранения ивентов, которое по умолчанию час? Похоже что в kube-apiserver надо устанавливать --event-ttl желаемое, но как это нормально можно сделать?
Kirill