Hosts bereitstellen, absichern und initialisieren
Bringen Sie frische Server auf einen Basisstand.
Hosts bereitstellen, absichern und initialisieren ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Vom leeren Server zur Basis
Frische Hosts sind unbeschriebene Blätter. Die common-Rolle bringt jeden Server auf eine sichere, einheitliche Basis, bevor der Anwendungscode bereitgestellt wird. 🛠️
Den Paket-Cache aktualisieren
Beginnen Sie mit der Aktualisierung der Paketinformationen, damit Installationen aktuelle Versionen verwenden. Das apt-Modul kann den Cache mit einer idempotenten Aufgabe aktualisieren.
- name: Update apt cache
ansible.builtin.apt:
update_cache: true
cache_valid_time: 3600Basispakete installieren
Verwenden Sie eine Schleife, um die auf jedem Host benötigten Werkzeuge wie curl, vim und ufw mit einer einzigen übersichtlichen Aufgabe zu installieren.
- name: Base packages
ansible.builtin.apt:
name:
- curl
- ufw
- fail2ban
state: presentEinen Benutzer für Bereitstellungen anlegen
Führen Sie Arbeiten an der Anwendung niemals als root aus. Das user-Modul erstellt ein dediziertes Bereitstellungskonto, dem die Anwendung künftig gehört.
- name: Create deploy user
ansible.builtin.user:
name: deploy
groups: sudo
shell: /bin/bashDen SSH-Schlüssel verteilen
Verwenden Sie authorized_key, um Ihrem Bereitstellungsbenutzer die schlüsselbasierte Anmeldung zu erlauben, sodass sich künftige Läufe ohne Passwörter verbinden können.
- name: Add deploy key
ansible.posix.authorized_key:
user: deploy
key: "{{ deploy_pubkey }}"SSH absichern
Härten Sie den Daemon ab: Deaktivieren Sie die Root-Anmeldung und die Passwortauthentifizierung. Das lineinfile-Modul bearbeitet sshd_config sicher und idempotent.
- ansible.builtin.lineinfile:
path: /etc/ssh/sshd_config
regexp: "^PermitRootLogin"
line: "PermitRootLogin no"
notify: Restart sshdNur benötigte Ports öffnen
Konfigurieren Sie die Firewall mit ufw: Erlauben Sie SSH und die App-Ports und verweigern Sie den übrigen Zugriff. So gilt standardmäßig die geringstmögliche Angriffsfläche.
- community.general.ufw:
rule: allow
port: "22"
proto: tcpZeitzone und NTP festlegen
Synchronisierte Uhren sind für Logs und Zertifikate wichtig. Legen Sie die Zeitzone fest und aktivieren Sie die Zeitsynchronisierung, damit jeder Host dieselbe aktuelle Zeit kennt.
- community.general.timezone:
name: UTCEinen Handler verwenden
Starten Sie sshd nur dann neu, wenn sich die Konfiguration geändert hat, indem Sie notify zusammen mit einem Handler verwenden – niemals bei jedem einzelnen Lauf.
handlers:
- name: Restart sshd
ansible.builtin.service:
name: sshd
state: restartedIdempotent ausführen
Führen Sie die common-Rolle zweimal aus. Beim zweiten Durchlauf wird größtenteils ok statt changed gemeldet. Das beweist, dass Ihre Basis tatsächlich konvergiert.
Die Basis vor der App einrichten
Durch die Absicherung im ersten Schritt wird die App auf einem bekannten, sicheren Host bereitgestellt. Bootstrap ist das Fundament, auf dem alles Weitere aufbaut. 🔒
Kurze Überprüfung
Eine Entscheidung hält Änderungen an der SSH-Konfiguration übersichtlich.
Zusammenfassung
Sie haben eine Basis eingerichtet: Pakete, einen Bereitstellungsbenutzer, SSH-Schlüssel, einen gehärteten sshd, eine Firewall und Zeitsynchronisierung – alles idempotent. ✅
Häufig gestellte Fragen
Ist die Lektion „Hosts bereitstellen, absichern und initialisieren“ kostenlos?
Ja — der vollständige Text von „Hosts bereitstellen, absichern und initialisieren“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des DevOps Bootcamp-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Hosts bereitstellen, absichern und initialisieren“?
Bringen Sie frische Server auf einen Basisstand. Du übst DevOps Bootcamp mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um DevOps Bootcamp zu starten?
Keine Vorkenntnisse erforderlich. DevOps Bootcamp auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „Hosts bereitstellen, absichern und initialisieren“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser DevOps Bootcamp-Lektion Code schreiben und ausführen?
Ja. Jede DevOps Bootcamp-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Das Projekt konzipieren: Rollen und Inventory
- Hosts bereitstellen, absichern und initialisieren
- Rolling Deployment hinter dem Load Balancer
- Smoke-Tests, Rollback und Benachrichtigungen