Gunakan Terraform untuk mengurus kelompok 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!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

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

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

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

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

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,

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.

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

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.
