Skip to content

Instantly share code, notes, and snippets.

View f4rx's full-sized avatar

Aleksey Stepanenko f4rx

View GitHub Profile
@f4rx
f4rx / clean_openstack_env.sh
Created September 1, 2019 19:54
Clean Openstack environment
openstack floating ip list
openstack floating ip list -f value -c ID | xargs openstack floating ip delete
openstack router list
for i in `openstack router list -f value -c ID`; do neutron router-port-list -f value -c id ${i} | xargs openstack router remove port ${i} ; done
openstack router list -f value -c ID | xargs openstack router delete
openstack port list
openstack port list -f value -c ID | xargs openstack port delete
@f4rx
f4rx / README.md
Created September 1, 2019 20:17
Packer install

Важно использовать версию 1.4.2

Установка Packer под linux

wget https://releases.hashicorp.com/packer/1.4.2/packer_1.4.2_linux_amd64.zip
unzip packer_1.4.2_linux_amd64.zip
mkdir bin
mv packer ~/bin
export PATH=~/bin:$PATH
echo "PATH=$PATH" >> ~/.bashrc
@f4rx
f4rx / README.md
Created September 1, 2019 20:20
Packer Terraform install

Важно использовать версию 0.12.6

Установка terraform под линукс

wget https://releases.hashicorp.com/terraform/0.12.6/terraform_0.12.6_linux_amd64.zip
unzip https://releases.hashicorp.com/terraform/0.12.6/terraform_0.12.6_linux_amd64.zip
mkdir bin
mv terraform ~/bin
export PATH=~/bin:$PATH
echo "PATH=$PATH" >> ~/.bashrc
@f4rx
f4rx / README.md
Created September 1, 2019 20:20
Packer Terraform install

Важно использовать версию 0.12.6

Установка terraform под линукс

wget https://releases.hashicorp.com/terraform/0.12.6/terraform_0.12.6_linux_amd64.zip
unzip https://releases.hashicorp.com/terraform/0.12.6/terraform_0.12.6_linux_amd64.zip
mkdir bin
mv terraform ~/bin
export PATH=~/bin:$PATH
echo "PATH=$PATH" >> ~/.bashrc
@f4rx
f4rx / README.md
Created September 2, 2019 08:09
Самостоятельное задание openstack

Самостоятельное задание openstack

Цель: Настроить деплой BookStack приложения.

BookStack - персональная вики, в которой знания организованы по типу книжных полок, книг и их страниц. Само приложение состоит и двух частей - само приложение и база данных, и поддерживает несколько вариантов установки https://www.bookstackapp.com/docs/admin/installation/ - установка на хостовую систему и запуск в докер-контейнер.

Вы можете рассмотреть варианты самостоятельного задания:

  1. "Запекание" приложения, можно рассмотреть скрипт установки под ubuntu 18.04 https://www.bookstackapp.com/docs/admin/installation/#ubuntu-1804. Имя сайта можно передать перед запуском скрипта echo "example.com" | bash installation-ubuntu-18.04.sh. Создать ВМ, установить приложение, сделать образ, развернуть копию из образа.
  2. Первый вариант имеет недостаток, т.к. база является statefull компонентом, поэтому можно разбить приложение на две сущности БД и код приложения. Можно поставить на одну ВМ базу данных и подготовить два хоста как
@f4rx
f4rx / README.md
Created September 4, 2019 18:45
ssh

Т.к. мы перепривязываем Floating IP к разным серверам, работая на локальном компьютере, а не devbox.slurm.io, вы можете получать ошибку подключения по ssh, если вы не знаете что делать, то можно использовать такое подключение по ssh

ssh -o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking=no" 

или очистить информацию о предыдущем подключении

ssh-keygen -R IP
@f4rx
f4rx / clean_openstack_env_without_image_keys.sh
Created September 5, 2019 12:43
clean_openstack_env_without_image_keys.sh
set -x
for i in `openstack loadbalancer pool list -f value -c id`; do for j in ` openstack loadbalancer member list -f value -c id ${i}`; do openstack loadbalancer member delete ${i} ${j}; done ; done
for i in `openstack loadbalancer pool list -f value -c id`; do openstack loadbalancer pool delete ${i}; done
for i in `openstack loadbalancer listener list -f value -c id`; do openstack loadbalancer listener delete ${i}; done
for i in `openstack loadbalancer list -f value -c id`; do openstack loadbalancer delete ${i}; done
@f4rx
f4rx / stackbook.nomad
Created September 23, 2019 22:30
nomad consul discover example
job "docs" {
datacenters = ["dc1"]
group "db" {
network {
mode = "bridge"
}
service {
name = "db-host"
port = "3306"
@f4rx
f4rx / bookstack,nomad
Created September 24, 2019 21:03
stackbook link containers via consul DNS
job "docs" {
datacenters = ["dc1"]
group "db" {
task "db" {
driver = "docker"
service {
tags = ["mysql"]
port = "db"
@f4rx
f4rx / redis.nomad
Created September 26, 2019 22:45
redis.nomad
job "redis" {
datacenters = ["dc1"]
group "redis-server" {
count = 6
update {
max_parallel = 1
min_healthy_time = "10s"
healthy_deadline = "10m"