Silver 👻
А, тогда ок
Silver 👻
У меня мелочевка
Andrei
Silver 👻
Вот и я натыкался на уж большего расширенные вещи какие-то. Нет чтоб что-то совсем простое. Дальше можно и по доке
Dmytro
сейчас попробую найти какой-то чарт попроще
Dmytro
вот неплохой пример https://github.com/kubernetes/charts/tree/master/stable/selenium/templates
по сути можно смотреть только на два файла hub-deployment.yaml и hub-service.yaml
остальные деплойменты тут - это отдельные приложения и в самом простом случае их не будет
Dmytro
и тут нет создания конфигмапа или секретов
Dmytro
в качестве создания секрета неплохой пример вот в монго чарте https://github.com/kubernetes/charts/blob/master/stable/mongodb/templates/secrets.yaml
и тут можно глянуть как ссылаться на значения из созданного секрета https://github.com/kubernetes/charts/blob/master/stable/mongodb/templates/deployment.yaml#L42
по сути там все просто как табуретка valueFrom - secretKeyRef
- name: MONGODB_PASSWORD
valueFrom:
secretKeyRef:
name: {{ template "mongodb.fullname" . }}
key: mongodb-password
Silver 👻
Спасибо большое
Dmytro
пример entrypoint.sh в котором генерируется конфиг из env переменных:
#!/bin/sh
set -o errexit
set -vx
cat << EOF > /opt/newrelic-redis/config/newrelic_plugin.yml
# Please make sure to update the license_key information with the
# license key for your New Relic account.
#
newrelic:
#
# Update with your New Relic account license key:
#
license_key: ${NEW_RELIC_LICENSE_KEY:?}
#
# Set to '1' for verbose output, remove for normal output.
# All output goes to stdout/stderr.
#
#verbose: 1
#
# Agent Configuration:
#
agents:
# this is where configuration for agents belongs
redis:
instance_name: ${REDIS_NAME:?}
url: redis://${REDIS_HOST:?}:${REDIS_PORT:?}
database: db0
EOF
exec "$@" >&2
Dmytro
пример как весь конфигмап прокинуть через values - т.е. это файл configmap.yaml в составе хелм чарта
apiVersion: v1
kind: ConfigMap
metadata:
name: "{{ .Release.Name }}-mongodb-config"
labels:
app: {{ .Release.Name | quote }}
data:
mongod.conf: |
{{ toYaml .Values.configmap | indent 4 }}
Dmytro
т.е. в values.yaml это выглядит вот так по дефолту:
# If you run mongod in a container (e.g. lxc, cgroups, Docker, etc.) that does not have access to all
# of the RAM available in a system, you must set storage.wiredTiger.engineConfig.cacheSizeGB to a value
# less than the amount of RAM available in the container. The exact amount depends on the other processes
# running in the container.
#
# See https://docs.mongodb.com/manual/faq/storage/
#
# Entries for the MongoDB config file
configmap:
storage:
dbPath: /data/db
net:
port: 27017
# replication:
# replSetName: rs0
# storage:
# wiredTiger:
# engineConfig:
# cacheSizeGB: 0.2
при установке чарта можно туда засунуть все что надо
Dmytro
и еще такой кейс когда нужно какие-то файлы статические в кконтейнер закинуть и они одинаковые для всех инсталляций чарта:
# This is a simple example of using a config map to create a single page
# static site.
apiVersion: v1
kind: ConfigMap
metadata:
name: stack-templates
labels:
app: aws-resources
{{ include "common_labels" . }}
data:
{{ (.Files.Glob "stacks/*.yaml").AsConfig | indent 2 }}т.е. тут хелм возьмет все файлы (нерекурсивно!) из папки stacks/ которая должна лежать рядом с папкой templates/ внутри чарта и создаст из них конфигмап
Dmytro
думаю что дя старта хватит, дальше если будут вопросы - пиши
Arty
Приветствую. А подскажите пожалуйста, можно ли в метаданных хранить кастомную информацию о поде?
Мне нужно как-то хранить данные о том, кто и почему создал под
Silver 👻
В лейбах можно хранить что угодно.
Andrey
Кто-нибудь юзает metallb (L2)? Не сталкивались с проблемой проброса реального ip клиента в контейнер? Это вообще возможно? :)
bebebe
Andrey
Andrey
В данном случае кластер в офисе. Проблема в том что xff прокидывается, но ip из кластерной сети, причём заканчивается на 0 (10.5.64.0) - странно вообще. Кейс, думаю, подходящий для metallb. Суть в том что external lb получает external ip от metallb, а далее стандартная работа ингресс
Igor
Коллеги, привет всем!
Кто-нибудь поднимал стенделоун кластер kubernetes для работы с несекьрными докер-регистри?
Igor
Пытаюсь запуллить образ через kubectl, но стабильно падаю с ошибкой x509: certificate is not valid for any names
Igor
Хотя docker pull на том же сервере работает корректно (с прописанным insecure-registry в конфигах)
Andrey
Andrey
у вас эта сетка для чего? поди сервис на этом ip и висит
Andrey
ingress
Andrey
Нет, сервис в сети 10.5.65 а дёргаю в офисе из сети 192.168. т.е. ожидаю в real ip увидеть 192.168. адрес. Сеть 10.5. - внутренняя для k8s
Andrey
у вас скорее всего несколько хопов от клиента до реального приложения в контейнере. посмотрите, кто у вас на этом ip работает через
kubectl get services —all-namespaces
Andrey
а xff только на одном, либо затирается, либо пишется несколько ip а приложение берёт последний
Andrey
На первом шаге он вероятно не предаётся вообще. Грешу на metallb, пока не до конца разобрался в его работе
Andrey
а ingress какой используется?
Andrey
ну и http или https
Andrey
если https - то metallb просто не может xff вставлять
Andrey
он же не может шифрованный трафик модифицировать
Andrey
я вообще склоняюсь к тому, что это не задача metallb, он не должен работать на уровне протокола приложения
Igor Garnyshev
Коллеги, кто k8s поднимал на baremetal на 2 и более DataCentrs?
Harry
Пока только внутри одного. Но, думаю, все решается ВПН-ом, нет?
Igor Garnyshev
Denis
Народ, подскажите пожалуйста, как из кубера можно выгрузить конфиг-spec в формат yaml? забыл как делал
Stanislav
-o yaml
Denis
о точняк. спасибо
Eduard
Мне кажется, или этот вопрос стабильно раз в неделю появляется?
Denis
Народ а после установки кубспреем кластера , конф для kubectl как замутить?
Gleb
Товарищи.
В СПБ организуем второй митап по kubernetes. Ссылки для регистрации:
meetup: https://bit.ly/2H3nMEK
timepad: https://bit.ly/2JceP11
Anton
Anonymous
Народ а после установки кубспреем кластера , конф для kubectl как замутить?
kubectl config --kubeconfig=k8s set-cluster k8s --server=$API_URL --insecure-skip-tls-verify"
kubectl config --kubeconfig=k8s set-credentials admin --username=$USERNAME --password=$PASSWORD"
kubectl config --kubeconfig=k8s set-context default --cluster=k8s --namespace=default --user=$USERNAME"
kubectl config --kubeconfig=k8s use-context default"
Denis
👍
Sergey
Ребят а кто может кратенько обьяснить что такое containerd для k8s?
Sergey
можно и не кратенько😁
Harry
Демон, который управляет контейнерами на нодах кластера. Это совсем кратко если
Sergey
т.е докер будет создавать, а containerd управлять? замена kubectl? или это какой то промежуточный контролирующий демон
Mikhail
https://kubernetes.io/blog/2018/05/24/kubernetes-containerd-integration-goes-ga/
Mikhail
Вот тут по полочкам всё
Sergey
https://containerd.io
Sergey
я тут читаю, и пока чет не сильно понятно:)
Sergey
спасибо
Dmitry
Коллеги, добрый день
Какая сейчас дока наиболее актуальна для ручного подъема куберов?
Mikhail
bare metal?
Dmitry
да
Mikhail
Какой хост?
Mikhail
ОС + версия
Mikhail
Ubuntu 18.04 https://tutorials.ubuntu.com/tutorial/install-kubernetes-with-conjure-up
16.04 https://habr.com/company/southbridge/blog/334846/
Но сначала нужно прикинуть архитектуру нормально. И на 18.04 не стоит использовать btrfs и zfs как хранилище, только dir. Первые два сломаны, баги
Andor
Conjure-up ставит кубер только с фланнель, без вариантов
Andor
Либо я не доискал
Mikhail
Я не пробовал иное, но выбрать можно
Andor
Кубеадм можно из снап поставить
Алексей
а какая разница с чем он его ставит?
Алексей
ну вынесите фланел при желании и воткнете что нить еще
Denis
Мужики подскажите куда копать или где ошибаюсь
Есть такой deployment:
https://anotepad.com/notes/9ix3hd
Под не может резолвить сервисы
nslookup kubernetes
Server: (null)
Address 1: ::1 localhost
Address 2: 127.0.0.1 localhost
Другие поды работаю нормально. Задеплоил тестовый deployment https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
и там все нормально. Куда копать нужно?
Mikhail
Кубеадм можно из снап поставить
На 18.04 херова гора преград была разного характера. Не вышло нормально поставить и настроить, пришлось накатывать 16.04 на виртуалку и ставить всё там
Andor
Эээээ
Andor
Какие там могут быть преграды?
Mikhail
Не, пакет я поставил, хех
Mikhail
Потом при настройке
Mikhail
Я уже не помню
Andor
Ну нетплан
Andor
Остальное всё то же