Переустанавливаем gitlab с заданием root пароля
Это к вопросу, например, какого хрена у меня не логинится в gitlab, когда я поставил
#gitlab #helm #kubernetes
export GITLAB_ROOT_PASSWORD="pwd_>=8_chars"
export GITLAB_ROOT_EMAIL="host@example.com"
gitlab-rake gitlab:setup ${GITLAB_ROOT_PASSWORD:+GITLAB_ROOT_PASSWORD=$GITLAB_ROOT_PASSWORD} ${GITLAB_ROOT_EMAIL:+GITLAB_ROOT_EMAIL=$GITLAB_ROOT_EMAIL}
Это к вопросу, например, какого хрена у меня не логинится в gitlab, когда я поставил
helm install gitlab
, все же должно работать из коробки! А вот.. Длинна пароля больше 8 символов должна быть, иначе запись этого пользователя в базу даже не попадет.#gitlab #helm #kubernetes
helm Blah-blah-blah already exists
Возникла ошибка при установке хелма, что какой-то компонент уже существует. Поскольку как оказалось такая проблема не только у меня была, решил сделать об этом заметку. Действительно, хелм ругается неспроста. В этой ситуации нужно убедиться, что у вас действительно нет дубликатов этого компонента, например уже развернутого в кластере, или, как в мом случае, текстовый редактор сделал backup файла в папке templates с именем <компонент>.yaml.save и хелм его начал спокойно обрабатывать.
#helm #troubleshooting
Возникла ошибка при установке хелма, что какой-то компонент уже существует. Поскольку как оказалось такая проблема не только у меня была, решил сделать об этом заметку. Действительно, хелм ругается неспроста. В этой ситуации нужно убедиться, что у вас действительно нет дубликатов этого компонента, например уже развернутого в кластере, или, как в мом случае, текстовый редактор сделал backup файла в папке templates с именем <компонент>.yaml.save и хелм его начал спокойно обрабатывать.
#helm #troubleshooting
helm upgrade... the fucking resource already exists
хелм на данный момент все еще сырой продукт. И ведет он себя довольно-таки странно в некоторых ситуациях. При добавлении нового ресурса можно получить ошибку... что ресурс, мать его, не найден! Мало того что ресурс не найден, так если запросить kubectl, оказалось что helm все прекрасно создал!
как workaround мне повезло решить проблему так:
1) разделить все ресурсы по отдельным yaml'ам (я добавил новый ресурс - ingress+secrets два в одном)
2) удалить все эти ресурсы, на которые ругается helm
3) запустить upgrade заново и надеяться что вам повезет.
Мне - повезло, а вы?
#troubleshooting #helm #kubernetes #fucking_fuck
хелм на данный момент все еще сырой продукт. И ведет он себя довольно-таки странно в некоторых ситуациях. При добавлении нового ресурса можно получить ошибку... что ресурс, мать его, не найден! Мало того что ресурс не найден, так если запросить kubectl, оказалось что helm все прекрасно создал!
как workaround мне повезло решить проблему так:
1) разделить все ресурсы по отдельным yaml'ам (я добавил новый ресурс - ingress+secrets два в одном)
2) удалить все эти ресурсы, на которые ругается helm
3) запустить upgrade заново и надеяться что вам повезет.
Мне - повезло, а вы?
#troubleshooting #helm #kubernetes #fucking_fuck
Jenkins heartbeat error
err:
В моем случае jenkins находится в k8s, катал его с помощью helm. В качестве решения в values.yaml:
#jenkins #kubernetes #helm #troubleshooting
err:
wrapper script does not seem to be touching the log file in xxxxx
(JENKINS-48300: if on a laggy filesystem, consider -Dorg.jenkinsci.plugins.durabletask.BourneShellScript.HEARTBEAT_CHECK_INTERVAL=300)
В моем случае jenkins находится в k8s, катал его с помощью helm. В качестве решения в values.yaml:
Master:
JavaOpts: "-Dorg.jenkinsci.plugins.durabletask.BourneShellScript.HEARTBEAT_CHECK_INTERVAL=3600"
#jenkins #kubernetes #helm #troubleshooting
Gitlab helm stable chart
Gitlab наконец-то зарелизили стабильный chart:
https://about.gitlab.com/2018/08/22/gitlab-11-2-released/#cloud-native-gitlab-helm-chart-generally-available
#gitlab #helm #kubernetes
Gitlab наконец-то зарелизили стабильный chart:
https://about.gitlab.com/2018/08/22/gitlab-11-2-released/#cloud-native-gitlab-helm-chart-generally-available
#gitlab #helm #kubernetes
GitLab
GitLab 11.2 released with live preview in the Web IDE and Android project import
11.2 offers live preview in the Web IDE, instance-wide project templates, Android imports, GitLab installs on Kubernetes with GA chart, and more!
Обновляем Gitlab 10.8 -> 11.x установленный через helm
нужно изменить переменную git_data_dir в templates/configmap.yaml на следующее:
нужно изменить переменную git_data_dir в templates/configmap.yaml на следующее:
git_data_dirs['default']['path'] = '/gitlab-data/git-data';Ошибка:
Chef Client finished, 274/445 resources updated in 04 minutes 26 seconds#helm #kubernetes #gitlab
Deprecations:
Your git_data_dir settings are deprecated.
Please update it to the following:
git_data_dirs({
"default" => {
"path" => "/gitlab-data/git-data"
}
})
Please refer to https://docs.gitlab.com/omnibus/settings/configuration.html#storing-git-data-in-an-alternative-directory for updated documentation.
helm 2.10 released!
Для тех кто им пользуется постоянно наверное это не новость, но для меня, как человека почти 3 недели гонявшего в отпуска это таки новость=)
changelog: https://github.com/helm/helm/releases/tag/v2.10.0
#helm
Для тех кто им пользуется постоянно наверное это не новость, но для меня, как человека почти 3 недели гонявшего в отпуска это таки новость=)
changelog: https://github.com/helm/helm/releases/tag/v2.10.0
#helm
GitHub
Release Helm v2.10.0 - Summer Edition 🌻 · helm/helm
Helm v2.10.0 is a feature release. This release continues our focus on improving stability in this release, limiting our enhancements to things that improve the reliability of Helm in production. U...
заставляем git использовать указанный ssh ключ при деплое чужого контейнера в k8s
Решал задачу по внедрению поисковика по коду: https://github.com/etsy/hound.
В рамках этой задачи было принято решение написать helm пакет для уже готового docker на docker hub. Сам helm можно потыкать здесь: https://github.com/bykvaadm/hound-helm-chart
Отдельно в этой заметке хотел бы отметить небольшую проблему, решаемую в рамках задачи: научить hound ходить в приватные репозитории по указанному приватному ключу. При этом не хотелось ни модифицировать контейнер автора, ни делать persistent volume, ни какой либо init-контейнер.
Способов заставить git ходить с указанным ключом довольно много, но большинство из них подразумевает что вы правите какой-то конфиг или модифицируете строку запуска git. Ни того ни другого делать в чужом контенере не хотелось. В итоге как один из наиболее простых способов был взят вариант с использованием wrapper. wrapper - это скрипт, который будет вызван git'ом при запуске ssh, вместо запуска ssh. Таким образом внутри wrapper можно писать любую логику, подставляя в зависимости от ситуации нужные параметры. на выходо wrapper должен заменять собой вызов ssh с какими-то параметрами. В моем случае так сложно делать не надо и wrapper скрипт получился такой:
Здесь я указываю чтобы не чекался fingerprint и путь к конкретному ключу. В итоге для helm пишется configmap и secret. один кладет wrapper, а другой - приватный ключ.
Теперь все что остается - задать в deployment переменную окружения GIT_SSH, в которой указать путь к wrapper.
#git #helm #kubernetes
Решал задачу по внедрению поисковика по коду: https://github.com/etsy/hound.
Hound is an extremely fast source code search engine. The core is based on this article (and code) from Russ Cox: Regular Expression Matching with a Trigram Index.
В рамках этой задачи было принято решение написать helm пакет для уже готового docker на docker hub. Сам helm можно потыкать здесь: https://github.com/bykvaadm/hound-helm-chart
Отдельно в этой заметке хотел бы отметить небольшую проблему, решаемую в рамках задачи: научить hound ходить в приватные репозитории по указанному приватному ключу. При этом не хотелось ни модифицировать контейнер автора, ни делать persistent volume, ни какой либо init-контейнер.
Способов заставить git ходить с указанным ключом довольно много, но большинство из них подразумевает что вы правите какой-то конфиг или модифицируете строку запуска git. Ни того ни другого делать в чужом контенере не хотелось. В итоге как один из наиболее простых способов был взят вариант с использованием wrapper. wrapper - это скрипт, который будет вызван git'ом при запуске ssh, вместо запуска ssh. Таким образом внутри wrapper можно писать любую логику, подставляя в зависимости от ситуации нужные параметры. на выходо wrapper должен заменять собой вызов ssh с какими-то параметрами. В моем случае так сложно делать не надо и wrapper скрипт получился такой:
#!/bin/sh
ssh -o StrictHostKeyChecking=no -i /etc/ssh-key/id_rsa $@
Здесь я указываю чтобы не чекался fingerprint и путь к конкретному ключу. В итоге для helm пишется configmap и secret. один кладет wrapper, а другой - приватный ключ.
Теперь все что остается - задать в deployment переменную окружения GIT_SSH, в которой указать путь к wrapper.
#git #helm #kubernetes
Helm - how to call helper functions in a loop
Several of the Go templating constructs change the meaning of . to be the thing that's being looped over, and you need to use $ to refer to the initial value. Most of your template correctly refers to e.g. $.Release.Name, but when you invoke the helper template, it's using the current context rather than the root value.
i.e. put this
instead of this:
#helm
Several of the Go templating constructs change the meaning of . to be the thing that's being looped over, and you need to use $ to refer to the initial value. Most of your template correctly refers to e.g. $.Release.Name, but when you invoke the helper template, it's using the current context rather than the root value.
i.e. put this
chart: {{ template "myapp-on-kube.chart" $ }}
instead of this:
chart: {{ template "myapp-on-kube.chart" . }}
#helm
Удобная конструкция для установки хелма ансиблом
#helm #ansible
- name: install helm
unarchive:
src: https://storage.googleapis.com/kubernetes-helm/helm-{{ helm_version }}-linux-amd64.tar.gz
dest: /usr/local/bin
remote_src: yes
extra_opts:
- --strip-components=1
- linux-amd64/helm
creates: /usr/local/bin/helm
#helm #ansible