Jadual Kandungan
Memasang Terraform
Buat skrip Terraform untuk penyedia OpenStack
Buat fail pengurusan Terraform
Buat Fail Terraform penyewa
初始化你的 Terraform
创建一个 Terraform 计划
应用你的第一个 TF
接下来的步骤
Rumah Operasi dan penyelenggaraan Keselamatan Gunakan Terraform untuk mengurus kelompok OpenStack

Gunakan Terraform untuk mengurus kelompok OpenStack

Jun 09, 2023 pm 12:20 PM
Operasi dan penyelenggaraan

使用 Terraform 来管理 OpenStack 集群

Selepas mempunyai persekitaran pengeluaran OpenStack dan makmal rumah untuk seketika, saya boleh mengatakan dengan selamat bahawa menyediakan beban kerja dan pengurusan daripada perspektif pentadbir dan penyewa. penting.

Terraform ialah alat perisian Infrastruktur sebagai Kod (IaC) sumber terbuka untuk menyediakan rangkaian, pelayan, platform awan, dsb. Terraform ialah bahasa perisytiharan yang berfungsi sebagai pelan tindakan untuk infrastruktur yang anda sedang bina. Anda boleh mengurusnya dengan Git, yang mempunyai ​​GitOps​​ senario penggunaan yang berkuasa.

Artikel ini memperkenalkan asas mengurus kelompok OpenStack menggunakan Terraform. Saya mencipta semula projek demo OpenStack menggunakan Terraform.

Memasang Terraform

Saya menggunakan CentOS sebagai batu loncatan untuk menjalankan Terraform. Menurut dokumentasi rasmi, langkah pertama ialah menambah repositori Hashicorp:

$ sudo dnf config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo

Seterusnya, pasang Terraform:

$ sudo dnf install terraform -y

Sahkan pemasangan:

$ terraform –version

Jika anda melihat nombor versi dikembalikan , maka anda telah memasang Terraform.

Buat skrip Terraform untuk penyedia OpenStack

Dalam Terraform, anda memerlukan pembekal, iaitu penukar yang dipanggil Terraform untuk menukar ​​.tf​​ anda kepada panggilan API ke platform yang anda sedang menyelaras.

Terdapat tiga jenis penyedia: rasmi, rakan kongsi dan komuniti:

  • Pembekal rasmi diselenggara oleh Hashicorp.
  • Pembekal rakan kongsi diselenggara oleh syarikat teknologi yang bekerja dengan Hashicorp.
  • Pembekal komuniti diselenggarakan oleh ahli komuniti sumber terbuka.

Terdapat penyedia komuniti OpenStack yang baik di pautan ​​​​​ ini. Untuk menggunakan pembekal ini, buat ​​.tf​​​ fail dan namakannya ​​main.tf​​.

$ vi main.tf

Tambah kandungan berikut dalam ​​main.tf​​:

terraform {
required_version = ">= 0.14.0"
required_providers {
openstack = {
source= "terraform-provider-openstack/openstack"
version = "1.49.0"
}
}
}
provider "openstack" {
user_name = “OS_USERNAME”
tenant_name = “OS_TENANT”
password= “OS_PASSWORD”
auth_url= “OS_AUTH_URL”
region= “OS_REGION”
}

Anda perlu mengubah suai ​​OS_USERNAME​​​, ​​OS_TENANT​​​, ​​OS_PASSWORD​​​, ​​OS_AUTH_URL​​​ dan ​​OS_REGION​​ pembolehubah akan berfungsi.

Buat fail pengurusan Terraform

Tumpuan fail pengurusan OpenStack adalah untuk menyediakan rangkaian luaran, laluan, pengguna, imej, profil penyewa dan kuota.

Contoh ini menyediakan gaya, laluan ke rangkaian luaran, imej ujian, profil penyewa dan pengguna.

Pertama sekali, buat direktori ​​AdminTF​​ untuk memperuntukkan sumber:

$ mkdir AdminTF
$ cd AdminTF

Dalam ​​main.tf​​, tambahkan yang berikut:

terraform {
required_version = ">= 0.14.0"
required_providers {
openstack = {
source= "terraform-provider-openstack/openstack"
version = "1.49.0"
}
}
}
provider "openstack" {
user_name = “OS_USERNAME”
tenant_name = “admin”
password= “OS_PASSWORD”
auth_url= “OS_AUTH_URL”
region= “OS_REGION”
}
resource "openstack_compute_flavor_v2" "small-flavor" {
name= "small"
ram = "4096"
vcpus = "1"
disk= "0"
flavor_id = "1"
is_public = "true"
}
resource "openstack_compute_flavor_v2" "medium-flavor" {
name= "medium"
ram = "8192"
vcpus = "2"
disk= "0"
flavor_id = "2"
is_public = "true"
}
resource "openstack_compute_flavor_v2" "large-flavor" {
name= "large"
ram = "16384"
vcpus = "4"
disk= "0"
flavor_id = "3"
is_public = "true"
}
resource "openstack_compute_flavor_v2" "xlarge-flavor" {
name= "xlarge"
ram = "32768"
vcpus = "8"
disk= "0"
flavor_id = "4"
is_public = "true"
}
resource "openstack_networking_network_v2" "external-network" {
name = "external-network"
admin_state_up = "true"
external = "true"
segments {
network_type = "flat"
physical_network = "physnet1"
}
}
resource "openstack_networking_subnet_v2" "external-subnet" {
name= "external-subnet"
network_id= openstack_networking_network_v2.external-network.id
cidr= "10.0.0.0/8"
gateway_ip= "10.0.0.1"
dns_nameservers = ["10.0.0.254", "10.0.0.253"]
allocation_pool {
start = "10.0.0.1"
end = "10.0.254.254"
}
}
resource "openstack_networking_router_v2" "external-router" {
name= "external-router"
admin_state_up= true
external_network_id = openstack_networking_network_v2.external-network.id
}
resource "openstack_images_image_v2" "cirros" {
name = "cirros"
image_source_url = "https://download.cirros-cloud.net/0.6.1/cirros-0.6.1-x86_64-disk.img"
container_format = "bare"
disk_format= "qcow2"
properties = {
key = "value"
}
}
resource "openstack_identity_project_v3" "demo-project" {
name = "Demo"
}
resource "openstack_identity_user_v3" "demo-user" {
name = "demo-user"
default_project_id = openstack_identity_project_v3.demo-project.id
password = "demo"
}

Buat Fail Terraform penyewa

Sebagai penyewa, anda biasanya mencipta mesin maya. Anda juga membuat rangkaian dan kumpulan keselamatan untuk mesin maya ini.

Contoh ini menggunakan pengguna yang dibuat daripada fail Admin di atas.

Pertama, buat direktori ​​TenantTF​​ untuk peruntukan berkaitan penyewa:

$ mkdir TenantTF
$ cd TenantTF

在 ​​main.tf​​ 中,添加以下内容:

terraform {
required_version = ">= 0.14.0"
required_providers {
openstack = {
source= "terraform-provider-openstack/openstack"
version = "1.49.0"
}
}
}
provider "openstack" {
user_name = “demo-user”
tenant_name = “demo”
password= “demo”
auth_url= “OS_AUTH_URL”
region= “OS_REGION”
}
resource "openstack_compute_keypair_v2" "demo-keypair" {
name = "demo-key"
public_key = "ssh-rsa ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"
}
resource "openstack_networking_network_v2" "demo-network" {
name = "demo-network"
admin_state_up = "true"
}
resource "openstack_networking_subnet_v2" "demo-subnet" {
network_id = openstack_networking_network_v2.demo-network.id
name = "demo-subnet"
cidr = "192.168.26.0/24"
}
resource "openstack_networking_router_interface_v2" "demo-router-interface" {
router_id = “XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX”
subnet_id = openstack_networking_subnet_v2.demo-subnet.id
}
resource "openstack_compute_instance_v2" "demo-instance" {
name= "demo"
image_id= "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY"
flavor_id = "3"
key_pair= "demo-key"
security_groups = ["default"]
metadata = {
this = "that"
}
network {
name = "demo-network"
}
}

初始化你的 Terraform

创建 Terraform 文件后,你需要初始化 Terraform。

对于管理员:

$ cd AdminTF
$ terraform init
$ terraform fmt

对于租户:

$ cd TenantTF
$ terraform init
$ terraform fmt

命令解释:

  • ​terraform init​​ 从镜像源下载提供者用于置备此项目。
  • ​terraform fmt​​ 格式化文件,以便在仓库中使用。

创建一个 Terraform 计划

接下来,为你创建一个 计划plan,看看将创建哪些资源。

对于管理员:

$ cd AdminTF
$ terraform validate
$ terraform plan

对于租户:

$ cd TenantTF
$ terraform validate
$ terraform plan

命令解释:

  • ​terraform validate​​​ 验证 ​​.tf​​ 语法是否正确。
  • ​terraform plan​​ 在缓存中创建一个计划文件,所有管理的资源在创建和销毁时都可以被跟踪。

应用你的第一个 TF

要部署资源,使用 ​​terraform apply​​ 命令。该命令应用计划文件中的所有资源状态。

对于管理员:

$ cd AdminTF
$ terraform apply

对于租户:

$ cd TenantTF
$ terraform apply

接下来的步骤

之前,我写了一篇关于在树莓派上部署最小 OpenStack 集群的 ​​文章​​​。你可以找到更详细的 ​​Terraform 和 Ansible​​ 配置,并通过 GitLab 实现一些 CI/CD。

Atas ialah kandungan terperinci Gunakan Terraform untuk mengurus kelompok OpenStack. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Skop pembolehubah PHP dijelaskan
1 bulan yang lalu By 百草
Petua untuk menulis komen php
4 minggu yang lalu By 百草
Mengulas kod dalam php
4 minggu yang lalu By 百草

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1510
276
Pengerahan dan operasi seni bina perkhidmatan mikro Spring Cloud Pengerahan dan operasi seni bina perkhidmatan mikro Spring Cloud Jun 23, 2023 am 08:19 AM

Dengan perkembangan pesat Internet, kerumitan aplikasi peringkat perusahaan semakin meningkat dari hari ke hari. Sebagai tindak balas kepada keadaan ini, seni bina perkhidmatan mikro muncul. Dengan modularitinya, penggunaan bebas dan kebolehskalaan yang tinggi, ia telah menjadi pilihan pertama untuk pembangunan aplikasi peringkat perusahaan hari ini. Sebagai seni bina perkhidmatan mikro yang cemerlang, Spring Cloud telah menunjukkan kelebihan besar dalam aplikasi praktikal. Artikel ini akan memperkenalkan penggunaan dan pengendalian serta penyelenggaraan seni bina perkhidmatan mikro SpringCloud. 1. Gunakan seni bina perkhidmatan mikro SpringCloud SpringCloud

Setelah bekerja dalam operasi dan penyelenggaraan selama lebih daripada sepuluh tahun, terdapat banyak detik ketika saya merasakan saya masih seorang yang baru... Setelah bekerja dalam operasi dan penyelenggaraan selama lebih daripada sepuluh tahun, terdapat banyak detik ketika saya merasakan saya masih seorang yang baru... Jun 09, 2023 pm 09:53 PM

Suatu ketika dahulu, ketika saya seorang graduan baru dalam jurusan sains komputer, saya melayari banyak posting pekerjaan di laman web pengambilan. Saya keliru dengan jawatan teknikal yang mempesonakan: jurutera R&D, jurutera operasi dan penyelenggaraan, jurutera ujian...‍ Semasa kolej. , kursus profesional saya begitu-begitu, apatah lagi mempunyai apa-apa visi teknikal, dan saya tidak mempunyai idea yang jelas tentang arah teknikal mana yang perlu diteruskan. Sehingga seorang pelajar senior berkata kepada saya: "Lakukan operasi dan penyelenggaraan. Anda tidak perlu menulis kod setiap hari untuk melakukan operasi dan penyelenggaraan. Anda hanya perlu boleh bermain Liunx! Ia lebih mudah daripada melakukan pembangunan yang saya pilih!" untuk percaya... Saya telah berada dalam industri selama lebih daripada sepuluh tahun , saya telah menanggung banyak kesusahan, menanggung banyak kesalahan, membunuh pelayan, dan mengalami pemberhentian jabatan Jika seseorang memberitahu saya sekarang bahawa operasi dan penyelenggaraan lebih mudah daripada pembangunan, maka saya akan melakukannya

Apakah kebolehmerhatian? Semua yang perlu diketahui oleh pemula Apakah kebolehmerhatian? Semua yang perlu diketahui oleh pemula Jun 08, 2023 pm 02:42 PM

Istilah kebolehmerhatian berasal dari bidang kejuruteraan dan telah menjadi semakin popular dalam bidang pembangunan perisian sejak beberapa tahun kebelakangan ini. Ringkasnya, kebolehmerhatian ialah keupayaan untuk memahami keadaan dalaman sistem berdasarkan output luaran. IBM mentakrifkan kebolehmerhatian sebagai: Secara amnya, kebolehmerhatian merujuk kepada tahap di mana keadaan dalaman atau keadaan sistem kompleks boleh difahami berdasarkan pengetahuan tentang output luarannya. Sistem yang lebih boleh diperhatikan, lebih cepat dan lebih tepat proses mencari punca masalah prestasi tanpa memerlukan ujian atau pengekodan tambahan. Dalam pengkomputeran awan, kebolehmerhatian juga merujuk kepada alatan dan amalan perisian yang mengagregat, mengaitkan dan menganalisis data daripada sistem aplikasi teragih dan infrastruktur yang menyokong operasinya untuk memantau, menyelesaikan masalah dan menyahpepijat sistem aplikasi dengan lebih berkesan, dengan itu mencapai pengalaman pelanggan pengoptimuman dan perjanjian tahap perkhidmatan

Apakah keupayaan yang harus dilindungi oleh operasi pangkalan data PG dan alatan penyelenggaraan? Apakah keupayaan yang harus dilindungi oleh operasi pangkalan data PG dan alatan penyelenggaraan? Jun 08, 2023 pm 06:56 PM

Sebelum cuti, saya bekerjasama dengan komuniti PG China untuk menjalankan siaran langsung dalam talian tentang cara menggunakan D-SMART untuk mengendalikan dan menyelenggara pangkalan data PG Kebetulan salah seorang pelanggan saya dalam industri kewangan mendengar pengenalan saya dan menghubungi untuk bersembang. Mereka memilih pangkalan data Xinchuang dan telah mencuba beberapa pangkalan data domestik Akhirnya, mereka akan memilih TDSQL. Saya berasa sedikit terkejut pada masa itu Mereka telah memilih pangkalan data domestik sejak 2020, tetapi nampaknya pengalaman awal selepas menggunakan TDSQL tidak begitu baik. Kemudian, selepas komunikasi, saya mengetahui bahawa mereka baru mula menggunakan pangkalan data teragih TDSQL dan mendapati bahawa keperluan penyelidikan dan pembangunan adalah terlalu tinggi, jadi mereka semua memilih contoh MYSQL berpusat TDSQL Selepas menggunakannya, mereka mendapati ia sangat mudah untuk digunakan . Seluruh awan pangkalan data

Titik Akhir Penggerak But Spring Didedahkan: Pantau Aplikasi Anda dengan Mudah Titik Akhir Penggerak But Spring Didedahkan: Pantau Aplikasi Anda dengan Mudah Jun 09, 2023 pm 10:56 PM

1. Pengenalan kepada SpringBootActuator endpoint 1.1 Apakah Actuator endpoint SpringBootActuator ialah sub-projek yang digunakan untuk memantau dan mengurus aplikasi SpringBoot. Ia menyediakan satu siri titik akhir terbina dalam (Titik Akhir) yang boleh digunakan untuk melihat status, status operasi dan penunjuk operasi aplikasi. Titik akhir penggerak boleh didedahkan kepada sistem luaran dalam HTTP, JMX atau bentuk lain untuk memudahkan kakitangan operasi dan penyelenggaraan memantau, mendiagnosis dan mengurus aplikasi. 1.2 Peranan dan fungsi titik akhir Titik akhir Actuator digunakan terutamanya untuk melaksanakan fungsi berikut: menyediakan pemeriksaan kesihatan aplikasi, termasuk sambungan pangkalan data, caching,

Adakah anda perlu belajar golang untuk operasi dan penyelenggaraan? Adakah anda perlu belajar golang untuk operasi dan penyelenggaraan? Jul 17, 2023 pm 01:27 PM

Jangan belajar golang untuk operasi dan penyelenggaraan Alasannya ialah: 1. Golang digunakan terutamanya untuk membangunkan aplikasi dengan prestasi tinggi dan keperluan prestasi serentak 2. Alat dan bahasa skrip yang biasa digunakan oleh jurutera operasi dan penyelenggaraan kebanyakan keperluan pengurusan dan Penyelenggaraan 3. Pembelajaran golang memerlukan asas dan pengalaman pengaturcaraan tertentu 4. Matlamat utama jurutera operasi dan penyelenggaraan adalah untuk memastikan kestabilan dan ketersediaan tinggi sistem, bukan untuk membangunkan aplikasi.

Tuyou Zou Yi: Bagaimana untuk mengendalikan dan menyelenggara syarikat kecil dan sederhana? Tuyou Zou Yi: Bagaimana untuk mengendalikan dan menyelenggara syarikat kecil dan sederhana? Jun 09, 2023 pm 01:56 PM

Melalui temu bual dan penyerahan, veteran dalam bidang operasi dan penyelenggaraan dijemput untuk memberikan pandangan yang mendalam dan bertembung bersama-sama dengan tujuan untuk membentuk beberapa konsensus lanjutan dan mempromosikan industri untuk bergerak ke hadapan dengan lebih baik. Dalam isu ini, kami menjemput Zou Yi, Pengarah Operasi dan Penyelenggaraan Tuyou Games, Encik Zou secara berseloroh menggelarkan dirinya sebagai wakil operasi dan penyenggaraan 5 juta syarikat terkemuka di dunia idea pembinaan operasi dan penyelenggaraan syarikat kecil dan sederhana adalah berbeza daripada syarikat besar. Hari ini kami mempunyai beberapa soalan dan meminta Encik Zou untuk berkongsi perjalanannya dalam menyepadukan penyelidikan dan operasi untuk kecil dan sederhana. syarikat bersaiz. Ini adalah isu ke-6 "Forum Operasi dan Penyelenggaraan" yang rendah dan peringkat tinggi, bermula sekarang! Pratonton Soalan Tuyou ialah sebuah syarikat permainan pada pendapat anda apakah ciri unik pengendalian dan penyelenggaraan permainan? Apakah cabaran operasi terbesar yang anda hadapi? Bagaimanakah anda menyelesaikan cabaran ini? Orang operasi dan penyelenggaraan permainan

Du Xiaoman dan Chen Cunli: 'komander' berusia 20 tahun bercakap tentang operasi dan penyelenggaraan, prestasi dan pertumbuhan Du Xiaoman dan Chen Cunli: 'komander' berusia 20 tahun bercakap tentang operasi dan penyelenggaraan, prestasi dan pertumbuhan Jun 09, 2023 am 09:56 AM

Melalui temu bual dan penyerahan, veteran dalam bidang operasi dan penyelenggaraan dijemput untuk memberikan pandangan yang mendalam dan bertembung bersama-sama dengan tujuan untuk membentuk beberapa konsensus lanjutan dan mempromosikan industri untuk bergerak ke hadapan dengan lebih baik. Dalam isu ini, kami menjemput Chen Cunli, pengurus besar Jabatan Operasi dan Penyelenggaraan Sistem Du Xiaoman. Beliau telah menghabiskan sebahagian besar kerjayanya selama 20 tahun dalam bidang Internet. Semasa berada di Jabatan Operasi dan Penyelenggaraan Baidu, ahli pasukannya memanggilnya "Komander Chen" kerana gaya kepimpinannya yang cemerlang. Hari ini kami menjemput "Komander Chen" untuk bercakap tentang pandangannya. Ini adalah isu ke-5 "Forum Operasi dan Penyelenggaraan" yang rendah dan peringkat tinggi, bermula sekarang! Pratonton soalan: Anda menyertai Baidu sangat awal dan kemudian menjadi bebas dengan Du Xiaoman Kami faham bahawa ramai pekerja di sekeliling anda telah lama mengikuti anda dan telah mengalami banyak ujian operasi dan penyelenggaraan perniagaan. Saya percaya semua orang sangat berminat.

See all articles