Nutanix_Home_Lab_Mentor_13 - itnett/FTD02H-N GitHub Wiki
Du har rett i at Nutanix Calm krever en lisens og er ikke inkludert i Nutanix Community Edition (CE). For å automatisere oppsettet av de første serverne i Nutanix CE uten Calm, kan du bruke følgende alternativer:
1. Bruke Cloud-Init for Automatisering
Cloud-Init er en kraftig løsning som støttes av Nutanix AHV og kan brukes til å automatisere initialiseringen av VMer (virtuelle maskiner). Her er en steg-for-steg guide for å bruke Cloud-Init:
-
Opprett en minimal Linux ISO med Cloud-Init:
- Last ned en minimal Linux-distribusjon som allerede har Cloud-Init installert, eller opprett en ISO som inkluderer Cloud-Init.
- Last opp denne ISO-filen til Nutanix Image Service via Prism Element.
-
Opprett en VM i Nutanix AHV:
- Gå til Prism Element (PE) og opprett en ny VM.
- Velg den opplastede Cloud-Init ISO som boot-medie.
- Tilordne ressurser (vCPU, minne, nettverksgrensesnitt) til VM-en.
-
Konfigurer Cloud-Init-data:
- Cloud-Init lar deg konfigurere VMer ved hjelp av en YAML-fil. Eksempelet nedenfor vil oppdatere og oppgradere pakkene, installere nødvendige verktøy som
vim
,curl
,wget
, og sette opp grunnleggendeiptables
regler.
#cloud-config package_update: true package_upgrade: true packages: - vim - curl - wget - iptables runcmd: - iptables -A INPUT -p tcp --dport 22 -j ACCEPT - iptables -A INPUT -p tcp --dport 80 -j ACCEPT - iptables -A INPUT -p tcp --dport 443 -j ACCEPT - iptables -A INPUT -j DROP - systemctl restart iptables
- Lagre denne filen som
cloud-config.yaml
.
- Cloud-Init lar deg konfigurere VMer ved hjelp av en YAML-fil. Eksempelet nedenfor vil oppdatere og oppgradere pakkene, installere nødvendige verktøy som
-
Konverter YAML-filen til Base64:
- For at Cloud-Init skal lese
user-data
, må den være Base64-kodet.
cat cloud-config.yaml | base64
- For at Cloud-Init skal lese
-
Konfigurer VM-en for Cloud-Init:
- I Nutanix Prism Element, under VM-opprettelsen, legg til
user-data
som en del av tilpasningen for gjeste-OS (Guest Customization). - Bruk Base64-kodet
user-data
i denne tilpasningen.
- I Nutanix Prism Element, under VM-opprettelsen, legg til
-
Start VM-en:
- Når VM-en startes, vil Cloud-Init kjøre og konfigurere systemet i henhold til YAML-konfigurasjonen.
2. Automatisering via Scripting
Hvis du foretrekker å bruke skript for automatisering, kan du:
-
Forbered et Bash-skript:
- Du kan lage et Bash-skript som installerer nødvendige pakker og konfigurerer systemet etter oppstart.
#!/bin/bash sudo apt-get update -y sudo apt-get upgrade -y sudo apt-get install -y vim curl wget iptables sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT sudo iptables -A INPUT -j DROP sudo systemctl restart iptables
-
Inkluder Skriptet i ISO-en eller kjør det manuelt:
- Du kan integrere dette skriptet i en ISO for automatisk kjøring, eller kjøre det manuelt etter at VM-en er opprettet.
3. Manuell Opprettelse og Konfigurasjon
Hvis du foretrekker å starte manuelt, kan du:
-
Opprett VMen via Prism Element:
- Bruk Prism Element til å opprette en VM med en minimal Linux-distribusjon.
-
Koble til VM-en:
- Når VM-en er oppe, koble til via SSH eller konsoll i Prism Element.
-
Installer og konfigurer nødvendige pakker:
- Kjør kommandoene manuelt for å installere og konfigurere pakkene.
Oppsummering
For Nutanix CE kan du effektivt bruke Cloud-Init til å automatisere oppsettet av dine første servere. Dette er en kraftig, men enkel metode som kan brukes uten ekstra kostnader. For mer komplekse automasjoner, kan scripting eller manuell konfigurasjon også være veien å gå, spesielt hvis du trenger mer kontroll eller ikke har Cloud-Init forhåndskonfigurert.
For å sette opp servere og tjenester i de to første VLAN-ene, VLAN 100 (Management)
og VLAN 110 (Monitoring)
, trenger vi å lage skript som håndterer installasjonen og konfigurasjonen av nødvendige tjenester på hver server. Vi vil bruke Cloud-Init for å automatisere disse prosessene.
1. VLAN 100 - Management
- Tjenester: Nutanix Prism, management VMs
Cloud-Init Script for Management VM:
Dette skriptet oppdaterer pakkelisten, installerer nødvendige verktøy, og klargjør systemet.
#cloud-config
package_update: true
package_upgrade: true
packages:
- vim
- curl
- wget
- iptables
runcmd:
- iptables -A INPUT -p tcp --dport 22 -j ACCEPT
- iptables -A INPUT -p tcp --dport 9440 -j ACCEPT # Nutanix Prism port
- iptables -A INPUT -p tcp --dport 443 -j ACCEPT
- iptables -A INPUT -j DROP
- systemctl restart iptables
2. VLAN 110 - Monitoring
- Tjenester: Zabbix, Grafana, Suricata
Cloud-Init Script for Zabbix Server:
Dette skriptet installerer Zabbix Server på en minimal Linux-distribusjon.
#cloud-config
package_update: true
package_upgrade: true
packages:
- zabbix-server-mysql
- zabbix-frontend-php
- zabbix-apache-conf
- mysql-server
runcmd:
- systemctl enable mysql
- systemctl start mysql
- mysql -e "create database zabbix character set utf8 collate utf8_bin;"
- mysql -e "create user 'zabbix'@'localhost' identified by 'password';"
- mysql -e "grant all privileges on zabbix.* to 'zabbix'@'localhost';"
- mysql -e "flush privileges;"
- zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u zabbix -ppassword zabbix
- systemctl enable zabbix-server
- systemctl start zabbix-server
- systemctl enable apache2
- systemctl restart apache2
Cloud-Init Script for Grafana Server:
Dette skriptet installerer og konfigurerer Grafana.
#cloud-config
package_update: true
package_upgrade: true
packages:
- apt-transport-https
- software-properties-common
- wget
- grafana
runcmd:
- wget -q -O - https://packages.grafana.com/gpg.key | apt-key add -
- add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
- apt-get update
- apt-get install -y grafana
- systemctl enable grafana-server
- systemctl start grafana-server
Cloud-Init Script for Suricata (IDS/IPS):
Dette skriptet installerer og konfigurerer Suricata for nettverksovervåking.
#cloud-config
package_update: true
package_upgrade: true
packages:
- suricata
- oinkmaster
runcmd:
- systemctl enable suricata
- systemctl start suricata
- suricata -c /etc/suricata/suricata.yaml -i eth0
3. Implementasjon
- Last opp Cloud-Init-filer til Nutanix Prism Element: Bruk disse YAML-konfigurasjonene som
user-data
når du oppretter nye VMer for hver tjeneste. - Opprett VMer: Bruk Prism Element til å opprette nye VMer basert på dine Cloud-Init-konfigurasjoner.
- Start VMer: Når VMer starter, vil Cloud-Init automatisk utføre nødvendige konfigurasjoner og installasjoner.
Oppsummering
Ved hjelp av disse Cloud-Init skriptene kan du automatisere oppsettet av alle nødvendige tjenester på serverne i VLAN 100 (Management) og VLAN 110 (Monitoring). Dette reduserer manuelt arbeid og sikrer en konsistent konfigurasjon på tvers av alle servere.