Чтобы починить приложение можно зайти по ssh на хост с приложение
ssh app root@<floating_ip>
и перезапустить сервисы
docker restart consul
docker restart guestbookapp
############################################# | |
# Initialize OpenStack provider | |
provider "openstack" { | |
domain_name = "${var.domain_name}" | |
tenant_id = "${var.project_id}" | |
user_name = "${var.user_name}" | |
password = "${var.user_password}" | |
auth_url = "https://api.selvpc.ru/identity/v3" | |
region = "${var.region}" | |
} |
variables: | |
IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_BUILD_REF_NAME | |
GIT_STRATEGY: FETCH | |
stages: | |
- lints | |
- build | |
- test_create_infra | |
- tests | |
- test_destroy_infra |
add-apt-repository \ | |
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \ | |
$(lsb_release -cs) \ | |
stable" | |
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - | |
apt-get update | |
apt-get -y install \ |
provider "openstack" { | |
domain_name = "${var.domain_name}" | |
tenant_id = "${var.project_id}" | |
user_name = "${var.user_name}" | |
password = "${var.user_password}" | |
auth_url = "https://api.selvpc.ru/identity/v3" | |
region = "${var.region}" | |
} | |
Чтобы починить приложение можно зайти по ssh на хост с приложение
ssh app root@<floating_ip>
и перезапустить сервисы
docker restart consul
docker restart guestbookapp
################################### | |
# Create Server | |
################################### | |
resource "openstack_compute_instance_v2" "instance_app" { | |
name = "app" | |
flavor_id = "${data.openstack_compute_flavor_v2.flavor_1.id}" | |
key_pair = "${openstack_compute_keypair_v2.terraform_key.id}" | |
availability_zone = "${var.az_zone}" | |
network { |
Рассмотрим вариант запуска OpenStack-клиента через докер
docker run --rm -ti -v $(pwd)/rc.sh:/rc.sh f3ex/openstack_client:0.3
################################### | |
# Get image ID | |
################################### | |
data "openstack_images_image_v2" "image_app" { | |
most_recent = true | |
visibility = "private" | |
tag = "app" | |
} | |
################################### |
################################### | |
# Create port | |
################################### | |
resource "openstack_networking_port_v2" "port_1" { | |
name = "node-eth0" | |
network_id = "${var.network_id}" | |
fixed_ip { | |
subnet_id = "${var.subnet_id}" |
################################### | |
# Create port | |
################################### | |
resource "openstack_networking_port_v2" "port_1" { | |
name = "node-eth0" | |
network_id = "${var.network_id}" | |
fixed_ip { | |
subnet_id = "${var.subnet_id}" |