Hæ allir! Sem hluti af námskeiðsvinnu minni rannsakaði ég getu innlends skýjapalls eins og
Hvað viltu fá?
Eftir að sýndarvél með vefþjóni hefur verið opnuð geturðu farið á gestgjafa hennar og fengið fallegt notendaviðmót, tilgreint gagnagrunna sem heimildir fyrir frekari vinnu, búið til mælaborð og línurit.
Grunnútgáfan hefur einn verulegan galla - hún er alls ekki bilanaþolin. Það er að segja að öll virkni forritsins veltur á hagkvæmni einnar sýndarvélar. Ef það neitar eða 10 manns opna HÍ á sama tíma, þá koma upp vandamál.
Þau er hægt að leysa einfaldlega: þú þarft bara að... setja upp margar eins sýndarvélar með vefþjóni og setja þær undir L3 jafnvægisbúnað. En hér er ekki allt svo skýrt. Grafana geymir notendastillingar (slóðir í gagnagrunna, mælaborð, línurit o.s.frv.) beint á disk sýndarvélarinnar. Þannig, ef við breytum einhverjum stillingum í notendaviðmótinu, endurspeglast þessar breytingar aðeins á sýndarvélinni sem jafnvægismaðurinn sendi okkur. Þetta mun leiða til ósamræmis stillinga fyrir forritið okkar, sem veldur vandamálum við ræsingu og notkun.
Hér mun annar gagnagrunnur koma til bjargar, til dæmis MySQL eða jafngildi þess. Við segjum Grafana að hún ætti að geyma notendastillingar í þessum „vara“ gagnagrunni. Síðan er nóg að tilgreina slóðina að þessum gagnagrunni einu sinni á hverri vél og breyta öllum öðrum notendastillingum á hvaða sýndarvél sem er; þær ná til hinna.
Hér er skýringarmynd af endanlegri umsóknarinnviði:
Lærum að lyfta með höndunum
MySQL og ClickHouse
Áður en slíkt forrit var sett í notkun með því að smella á hnappinn var nauðsynlegt að læra hvernig ætti að meðhöndla hvern hluta þess og samþætta þá hver við annan.
Hér mun Yandex.Cloud hjálpa okkur, sem veitir L3 jafnvægistæki, ClickHouse og MySQL sem stýrða þjónustu. Notandinn þarf aðeins að tilgreina breytur og bíða þar til pallurinn kemur öllu í gang.
Ég skráði mig, bjó til ský og greiðslureikning. Eftir það fór ég í skýið og setti upp MySQL og ClickHouse klasa með lágmarks stillingum. Ég beið þar til þeir urðu virkir.
Þú þarft einnig að muna að búa til gagnagrunn í hverjum klasa og stilla aðgang að honum með því að nota innskráningu og lykilorð. Ég mun ekki fara í smáatriði hér - allt er nokkuð augljóst í viðmótinu.
Það sem ekki var augljóst var að þessir gagnagrunnar hafa marga hýsa sem tryggja bilanaþol þeirra. Hins vegar þarf Grafana nákvæmlega einn hýsil fyrir hvern gagnagrunn sem hann vinnur með. Langur lestur c-<cluster_id>.rw.mdb.yandexcloud.net
varpað á núverandi virka aðalhýsil klasans með tilheyrandi auðkenni. Þetta munum við gefa Grafana.
Vefþjónn
Nú er komið að vefþjóninum. Við skulum reisa venjulega sýndarvél með Linux og stilla Grafana handvirkt á henni.
Tengjumst í gegnum ssh og setjum upp nauðsynlega pakka.
sudo apt-get install -y apt-transport-https software-properties-common wget
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
sudo add-apt-repository "deb https://packages.grafana.com/enterprise/deb stable main"
sudo apt-get update
sudo apt-get install -y grafana-enterprise
Eftir það skulum við keyra Grafana undir systemctl og setja upp viðbótina til að vinna með ClickHouse (já, það er ekki til í grunnpakkanum).
sudo systemctl start grafana-server
sudo systemctl enable grafana-server
sudo grafana-cli plugins install vertamedia-clickhouse-datasource
Það er það, eftir það með einfaldri skipun
sudo service grafana-server start
við munum ræsa vefþjóninn. Nú geturðu slegið inn ytri IP tölu sýndarvélarinnar í vafranum, tilgreint port 3000 og séð fallega notendaviðmót myndarinnar.
En ekki flýta þér, áður en þú setur upp Grafana, verður þú að muna að segja henni leiðina að MySQL til að geyma stillingarnar þar.
Öll uppsetning Grafana vefþjónsins er í skránni /etc/grafana/grafana.ini
. Nauðsynleg lína lítur svona út:
;url =
Við stillum gestgjafann á MySQL þyrpinguna. Sama skrá inniheldur innskráningu og lykilorð fyrir aðgang að Grafana á myndinni hér að ofan, sem sjálfgefið eru bæði jöfn admin
.
Þú getur notað sed skipanir:
sudo sed -i "s#.*;url =.*#url = mysql://${MYSQL_USERNAME}:${MYSQL_PASSWORD}@${MYSQL_CLUSTER_URI}#" /etc/grafana/grafana.ini
sudo sed -i "s#.*;admin_user =.*#admin_user = ${GRAFANA_USERNAME}#" /etc/grafana/grafana.ini
sudo sed -i "s#.*;admin_password =.*#admin_password = ${GRAFANA_PASSWORD}#" /etc/grafana/grafana.ini
Það er kominn tími til að endurræsa vefþjóninn!
sudo service grafana-server restart
Nú í Grafana UI munum við tilgreina ClickHouse sem DataSource.
Mér tókst að ná virku stillingu með eftirfarandi stillingum:
Ég tilgreindi sem slóð https://c-<cluster_id>.rw.mdb.yandexcloud.net:8443
Allt! Við erum með eina virka sýndarvél með vefþjóni tengdum CH og MySQL. Þú getur nú þegar hlaðið upp gagnasafninu á ClickHouse og smíðað mælaborð. Hins vegar höfum við ekki enn náð markmiði okkar og höfum ekki komið á fót fullgildum innviðum.
Pakkari
Yandex.Cloud gerir þér kleift að búa til diskmynd af núverandi sýndarvél og á grundvelli hennar - hvaða fjölda véla sem er eins hver annarri. Þetta er nákvæmlega það sem við munum nota. Taktu tólið til að setja myndina saman á þægilegan hátt
json skráin okkar mun samanstanda af tveimur blokkum: smiðirnir og úthlutunaraðilar. Fyrsti blokkin lýsir breytum myndarinnar sjálfrar sem einingu og seinni blokkin lýsir leiðbeiningum um að fylla hana með nauðsynlegu efni.
Smiðirnir
{
"builders": [
{
"type": "yandex",
"endpoint": "{{user `endpoint`}}",
"folder_id": "<folder_id>",
"subnet_id": "{{user `subnet_id`}}",
"zone": "{{user `zone`}}",
"labels": {},
"use_ipv4_nat": true,
"use_internal_ip": false,
"service_account_key_file": "<service_account_key_file>",
"image_name": "grafana-{{timestamp}}",
"image_family": "grafana",
"image_labels": {},
"image_description": "GRAFANA",
"source_image_family": "ubuntu-1804-lts",
"disk_size_gb": 3,
"disk_type": "network-hdd",
"ssh_username": "ubuntu"
}
],
...
}
Í þessu sniðmáti þarftu að stilla auðkenni hlutans í skýinu þar sem þú vilt búa til myndina, sem og slóðina að skránni með lyklunum frá þjónustureikningnum sem áður var búið til í þessum hluta. Þú getur lesið meira um að búa til þjónustureikninga og lykla í formi skráar í samsvarandi kafla
Þessi uppsetning segir að diskamyndin verði byggð út frá pallinum ubuntu-1804-lts
, settur í viðeigandi notendahluta í myndafjölskyldunni GRAFANA
undir nafninu grafana-{{timestamp}}
.
Veiðimenn
Nú kemur áhugaverðari hluti stillingarinnar. Það mun lýsa röð aðgerða sem þarf að framkvæma á sýndarvélinni áður en ástand hennar er fryst í diskmynd.
{
...,
"provisioners": [
{
"type": "shell",
"pause_before": "5s",
"scripts": [
"prepare-ctg.sh"
]
},
{
"type": "file",
"source": "setup.sh",
"destination": "/opt/grafana/setup.sh"
},
{
"type": "shell",
"execute_command": "sudo {{ .Vars }} bash '{{ .Path }}'",
"pause_before": "5s",
"scripts": [
"install-packages.sh",
"grafana-setup.sh",
"run-setup-at-reboot.sh"
]
}
]
}
Hér er öllum aðgerðum skipt í 3 stig. Á fyrsta stigi er einfalt handrit keyrt sem býr til aukaskrá.
undirbúning-ctg.sh:
#!/bin/bash
sudo mkdir -p /opt/grafana
sudo chown -R ubuntu:ubuntu /opt/grafana
Á næsta stigi setjum við handrit í þessa möppu, sem þarf að ræsa strax eftir að sýndarvélin er ræst. Þetta handrit mun setja notendabreyturnar sem þarf að skrá í Grafana stillinguna og endurræsa vefþjóninn.
setup.sh:
#!/bin/bash
CLUSTER_ID="<cluster_id>"
USERNAME="<username>"
PASSWORD="<password>"
sudo sed -i "s#.*;url =.*#url = mysql://${USERNAME}:${PASSWORD}@c-${CLUSTER_ID}.rw.mdb.yandexcloud.net#" /etc/grafana/grafana.ini
sudo sed -i "s#.*;admin_user =.*#admin_user = ${USERNAME}#" /etc/grafana/grafana.ini
sudo sed -i "s#.*;admin_password =.*#admin_password = ${PASSWORD}#" /etc/grafana/grafana.ini
sudo service grafana-server restart
Eftir þetta eru 3 hlutir eftir að gera:
1) setja upp pakka
2) keyrðu Grafana undir systemctl og settu upp ClickHouse viðbótina
3) settu setup.sh handritið í ræsingarröðina strax eftir að kveikt er á sýndarvélinni.
install-packages.sh:
#!/bin/bash
sudo systemd-run --property='After=apt-daily.service apt-daily-upgrade.service' --wait /bin/true
sudo apt-get install -y apt-transport-https
sudo apt-get install -y software-properties-common wget
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
sudo add-apt-repository "deb https://packages.grafana.com/enterprise/deb stable main"
sudo apt-get update
sudo apt-get install -y grafana-enterprise
grafana-setup.sh:
#!/bin/bash
sudo systemctl start grafana-server
sudo systemctl enable grafana-server
sudo grafana-cli plugins install vertamedia-clickhouse-datasource
keyra-setup-at-reboot.sh:
#!/bin/bash
chmod +x /opt/grafana/setup.sh
cat > /etc/cron.d/first-boot <<EOF
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
@reboot root /bin/bash /opt/grafana/setup.sh > /var/log/yc-setup.log 2>&1
EOF
chmod +x /etc/cron.d/first-boot;
Nú er allt sem er eftir að keyra Packer og fá úttaksmyndina setta í tilgreindan hluta. Þegar þú býrð til sýndarvél geturðu valið hana sem ræsidisk og eftir ræsingu færðu tilbúinn Grafana vefþjón.
Tilvikshópur og jafnvægismaður
Þegar við erum komin með diskamynd sem gerir okkur kleift að búa til marga eins Grafana vefþjóna getum við búið til tilvikshóp. Á Yandex.Cloud pallinum vísar þetta hugtak til sameiningar sýndarvéla sem hafa sömu eiginleika. Þegar tilvikahópur er stofnaður er frumgerð allra véla í þessum hópi stillt og síðan eiginleikar hópsins sjálfs (til dæmis lágmarks- og hámarksfjöldi virkra véla). Ef núverandi fjöldi uppfyllir ekki þessi skilyrði, þá mun tilvikshópurinn sjálfur fjarlægja óþarfa vélar eða búa til nýjar í eigin mynd.
Sem hluti af verkefninu okkar munum við búa til tilvikshóp af vefþjónum sem verða búnir til úr áður búið til diskamynd.
Það sem er sannarlega merkilegt er hópuppsetning síðasta tilviksins. Markhópurinn í samþættingu við Load Balancer mun hjálpa þér að stilla L3 balancer ofan á sýndarvélar þessa hóps með því að smella á nokkra hnappa.
Þegar ég setti upp jafnvægisbúnaðinn útfærði ég tvö mikilvæg atriði:
- Ég lét jafnvægistækið samþykkja notendaumferð á port 80 og beina því á port 3000 í sýndarvélunum, nákvæmlega þar sem Grafana býr.
- Ég setti upp að athuga hagkvæmni véla með því að smella þeim á port 3000.
Smá samantekt
Að lokum gátum við handvirkt dreift tilætluðum forritainnviðum og nú erum við með mjög seigur Grafana þjónustu. Þú þarft aðeins að vita IP-tölu jafnvægisbúnaðarins sem inngangsstað forritsins og gestgjafa ClickHouse klasans til að hlaða gagnasafninu inn í það.
Það virðist sem sigur? Já, sigur. En eitthvað ruglar mig samt. Allt ferlið hér að ofan krefst margra handvirkra skrefa og er alls ekki skalanlegt; Mig langar að gera það sjálfvirkt ef mögulegt er. Þetta er það sem næsti kafli verður helgaður.
Terraform samþætting
Við munum aftur nota tól frá HashiCorp sem heitir
Öll vinna með Terraform kemur niður á að skrifa stillingarskrá (*.tf
) og gerð innviða byggða á því.
Variables
Strax í upphafi skrárinnar munum við setja inn breytur sem ákvarða hvar og hvernig framtíðarinnviðum verður dreift.
variable "oauth_token" {
type = string
default = "<oauth-token>"
}
variable "cloud_id" {
type = string
default = "<cloud-id>"
}
variable "folder_id" {
type = string
default = "<folder_id>"
}
variable "service_account_id" {
type = string
default = "<service_account_id>"
}
variable "image_id" {
type = string
default = "<image_id>"
}
variable "username" {
type = string
default = "<username>"
}
variable "password" {
type = string
default = "<password>"
}
variable "dbname" {
type = string
default = "<dbname>"
}
variable "public_key_path" {
type = string
default = "<path to ssh public key>"
}
Allt dreifingarferlið forrita mun snúast um að búa til diskmynd og stilla þessar breytur. Leyfðu mér að útskýra hvað þeir bera ábyrgð á:
oauth_tákn — tákn fyrir aðgang að skýinu. Hægt að nálgast hjá
cloud_id - skýjakenni þar sem við munum dreifa forritinu
mappa_id — hlutaauðkenni þar sem við munum dreifa forritinu
þjónustureikningsauðkenni — auðkenni þjónustureiknings í samsvarandi hluta skýsins.
myndauðkenni — auðkenni diskamyndarinnar sem fæst með Packer
notandanafn и lykilorð — notendanafn og lykilorð til að fá aðgang að bæði gagnagrunnum og Grafana vefþjóninum
dbnafn — Nafn gagnagrunns inni í CH og MySQL klösum
opinber_lykilslóð - slóð að skránni með opinbera ssh lyklinum þínum, sem þú getur notað til að tengjast undir nafninu ubuntu
í sýndarvélar með vefþjónum
Uppsetning veitenda
Nú þarftu að stilla Terraform veituna - í okkar tilviki, Yandex:
provider "yandex" {
token = var.oauth_token
cloud_id = var.cloud_id
folder_id = var.folder_id
zone = "ru-central1-a"
}
Þú munt taka eftir því að hér erum við að nota breyturnar sem skilgreindar eru hér að ofan.
Net og klasar
Nú munum við búa til net þar sem þættir innviða okkar munu hafa samskipti, þrjú undirnet (eitt á hverju svæði) og ala upp CH og MySQL klasa.
resource "yandex_vpc_network" "grafana_network" {}
resource "yandex_vpc_subnet" "subnet_a" {
zone = "ru-central1-a"
network_id = yandex_vpc_network.grafana_network.id
v4_cidr_blocks = ["10.1.0.0/24"]
}
resource "yandex_vpc_subnet" "subnet_b" {
zone = "ru-central1-b"
network_id = yandex_vpc_network.grafana_network.id
v4_cidr_blocks = ["10.2.0.0/24"]
}
resource "yandex_vpc_subnet" "subnet_c" {
zone = "ru-central1-c"
network_id = yandex_vpc_network.grafana_network.id
v4_cidr_blocks = ["10.3.0.0/24"]
}
resource "yandex_mdb_clickhouse_cluster" "ch_cluster" {
name = "grafana-clickhouse"
environment = "PRODUCTION"
network_id = yandex_vpc_network.grafana_network.id
clickhouse {
resources {
resource_preset_id = "s2.micro"
disk_type_id = "network-ssd"
disk_size = 16
}
}
zookeeper {
resources {
resource_preset_id = "s2.micro"
disk_type_id = "network-ssd"
disk_size = 10
}
}
database {
name = var.dbname
}
user {
name = var.username
password = var.password
permission {
database_name = var.dbname
}
}
host {
type = "CLICKHOUSE"
zone = "ru-central1-a"
subnet_id = yandex_vpc_subnet.subnet_a.id
}
host {
type = "CLICKHOUSE"
zone = "ru-central1-b"
subnet_id = yandex_vpc_subnet.subnet_b.id
}
host {
type = "CLICKHOUSE"
zone = "ru-central1-c"
subnet_id = yandex_vpc_subnet.subnet_c.id
}
host {
type = "ZOOKEEPER"
zone = "ru-central1-a"
subnet_id = yandex_vpc_subnet.subnet_a.id
}
host {
type = "ZOOKEEPER"
zone = "ru-central1-b"
subnet_id = yandex_vpc_subnet.subnet_b.id
}
host {
type = "ZOOKEEPER"
zone = "ru-central1-c"
subnet_id = yandex_vpc_subnet.subnet_c.id
}
}
resource "yandex_mdb_mysql_cluster" "mysql_cluster" {
name = "grafana_mysql"
environment = "PRODUCTION"
network_id = yandex_vpc_network.grafana_network.id
version = "8.0"
resources {
resource_preset_id = "s2.micro"
disk_type_id = "network-ssd"
disk_size = 16
}
database {
name = var.dbname
}
user {
name = var.username
password = var.password
permission {
database_name = var.dbname
roles = ["ALL"]
}
}
host {
zone = "ru-central1-a"
subnet_id = yandex_vpc_subnet.subnet_a.id
}
host {
zone = "ru-central1-b"
subnet_id = yandex_vpc_subnet.subnet_b.id
}
host {
zone = "ru-central1-c"
subnet_id = yandex_vpc_subnet.subnet_c.id
}
}
Eins og þú sérð er hver þyrpinganna tveggja búinn til nokkuð bilunarþolinn með því að vera settur á þrjú framboðssvæði.
Vefþjónar
Það virtist sem við gætum haldið áfram í sama anda, en ég lenti í erfiðleikum. Áður en þetta kom upp ræktaði ég fyrst MySQL þyrping og aðeins eftir það, vitandi auðkenni hans, safnaði ég diskamynd með nauðsynlegri uppsetningu, þar sem ég tilgreindi hýsilinn fyrir þyrpinguna. En nú vitum við ekki klasaauðkennið áður en Terraform var ræst, þar á meðal þegar myndin var byggð. Þess vegna varð ég að grípa til eftirfarandi
Með því að nota lýsigagnaþjónustu Amazon munum við senda nokkrar breytur til sýndarvélarinnar sem hún mun samþykkja og vinna úr. Við þurfum vélina til að fara í lýsigögnin á bak við MySQL þyrpingshýsilinn og notendanafn-lykilorð, sem notandinn tilgreindi í Terraform skránni, eftir að hafa byrjað. Við skulum breyta innihaldi skráarinnar lítillega setup.sh
, sem keyrir þegar kveikt er á sýndarvélinni.
setup.sh:
#!/bin/bash
CLUSTER_URI="$(curl -H 'Metadata-Flavor:Google' http://169.254.169.254/computeMetadata/v1/instance/attributes/mysql_cluster_uri)"
USERNAME="$(curl -H 'Metadata-Flavor:Google' http://169.254.169.254/computeMetadata/v1/instance/attributes/username)"
PASSWORD="$(curl -H 'Metadata-Flavor:Google' http://169.254.169.254/computeMetadata/v1/instance/attributes/password)"
sudo sed -i "s#.*;url =.*#url = mysql://${USERNAME}:${PASSWORD}@${CLUSTER_URI}#" /etc/grafana/grafana.ini
sudo sed -i "s#.*;admin_user =.*#admin_user = ${USERNAME}#" /etc/grafana/grafana.ini
sudo sed -i "s#.*;admin_password =.*#admin_password = ${PASSWORD}#" /etc/grafana/grafana.ini
sudo service grafana-server restart
Intance hópur og jafnvægismaður
Eftir að hafa endurbyggt nýja diskamynd getum við loksins bætt við skránni okkar fyrir Terraform.
Við skulum gefa til kynna að við viljum nota núverandi diskamynd:
data "yandex_compute_image" "grafana_image" {
image_id = var.image_id
}
Nú skulum við búa til tilvikshóp:
resource "yandex_compute_instance_group" "grafana_group" {
name = "grafana-group"
folder_id = var.folder_id
service_account_id = var.service_account_id
instance_template {
platform_id = "standard-v1"
resources {
memory = 1
cores = 1
}
boot_disk {
mode = "READ_WRITE"
initialize_params {
image_id = data.yandex_compute_image.grafana_image.id
size = 4
}
}
network_interface {
network_id = yandex_vpc_network.grafana_network.id
subnet_ids = [yandex_vpc_subnet.subnet_a.id, yandex_vpc_subnet.subnet_b.id, yandex_vpc_subnet.subnet_c.id]
nat = "true"
}
metadata = {
mysql_cluster_uri = "c-${yandex_mdb_mysql_cluster.mysql_cluster.id}.rw.mdb.yandexcloud.net:3306/${var.dbname}"
username = var.username
password = var.password
ssh-keys = "ubuntu:${file("${var.public_key_path}")}"
}
network_settings {
type = "STANDARD"
}
}
scale_policy {
fixed_scale {
size = 6
}
}
allocation_policy {
zones = ["ru-central1-a", "ru-central1-b", "ru-central1-c"]
}
deploy_policy {
max_unavailable = 2
max_creating = 2
max_expansion = 2
max_deleting = 2
}
load_balancer {
target_group_name = "grafana-target-group"
}
}
Það er þess virði að borga eftirtekt til hvernig við sendum það inn í lýsigögnin cluster_uri
, username
и password
. Það er þetta sem sýndarvélin mun taka út við ræsingu og setja í Grafana stillinguna.
Það er undir jafnvægismanni komið.
resource "yandex_lb_network_load_balancer" "grafana_balancer" {
name = "grafana-balancer"
listener {
name = "grafana-listener"
port = 80
target_port = 3000
external_address_spec {
ip_version = "ipv4"
}
}
attached_target_group {
target_group_id = yandex_compute_instance_group.grafana_group.load_balancer.0.target_group_id
healthcheck {
name = "healthcheck"
tcp_options {
port = 3000
}
}
}
}
Smá sykur
Það er aðeins eftir. Eftir að innviðirnir hafa verið settir upp verður þú að fara í Grafana notendaviðmótið og bæta við CH þyrpingunni (sem þarf enn að fá auðkenni) sem gagnaheimild handvirkt. En Terraform þekkir klasaauðkennið. Við skulum fela honum að koma málinu í framkvæmd.
Bætum við nýjum þjónustuaðila - Grafana, og gefum henni IP tölu jafnvægisaðilans sem gestgjafa. Allar breytingar sem Terraform gerir á vélinni þar sem jafnvægisstillir hennar ákvarðar munu vaxa í MySQL, og þar af leiðandi á öllum öðrum vélum.
provider "grafana" {
url = "http://${[for s in yandex_lb_network_load_balancer.grafana_balancer.listener: s.external_address_spec.0.address].0}"
auth = "${var.username}:${var.password}"
}
resource "grafana_data_source" "ch_data_source" {
type = "vertamedia-clickhouse-datasource"
name = "grafana"
url = "https://c-${yandex_mdb_clickhouse_cluster.ch_cluster.id}.rw.mdb.yandexcloud.net:8443"
basic_auth_enabled = "true"
basic_auth_username = var.username
basic_auth_password = var.password
is_default = "true"
access_mode = "proxy"
}
Við skulum greiða hárið
Sýnum IP-tölu jafnvægisbúnaðar og gestgjafa ClickHouse klasans
output "grafana_balancer_ip_address" {
value = [for s in yandex_lb_network_load_balancer.grafana_balancer.listener: s.external_address_spec.0.address].0
}
output "clickhouse_cluster_host" {
value = "https://c-${yandex_mdb_clickhouse_cluster.ch_cluster.id}.rw.mdb.yandexcloud.net:8443"
}
Getur hlaupið
Allt! Stillingarskráin okkar er tilbúin og við getum, með því að stilla breyturnar, sagt Terraform að hækka allt sem við lýstum hér að ofan. Allt ferlið tók mig um 15 mínútur.
Í lokin má sjá falleg skilaboð:
Apply complete! Resources: 9 added, 0 changed, 0 destroyed.
Outputs:
clickhouse_cluster_host = https://c-c9q14ipa2ngadqsbp2iq.rw.mdb.yandexcloud.net:8443
grafana_balancer_ip_address = 130.193.50.25
Og í skýinu munu þættir upphækkaðs innviða vera sýnilegir:
Summa upp
Nú, með því að nota Grafana sem dæmi, getur hver og einn sett upp forrit með víðfeðmum skýjaarkitektúr á Yandex.Cloud pallinum. Gagnleg verkfæri frá HashiCorp eins og Packer og Terraform geta hjálpað þér með þetta. Ég vona að einhverjum finnist þessi grein gagnleg :)
PS Hér að neðan mun ég hengja tengil á geymsluna þar sem þú getur fundið tilbúnar uppskriftir fyrir Packer og Terraform, brot af þeim sem ég gaf í þessari grein.
Heimild: www.habr.com