Installing Docker node with ansible: Unterschied zwischen den Versionen

Aus Primatenwiki
Zur Navigation springen Zur Suche springen
Die Seite wurde neu angelegt: «Um alle Kubernetes Nodes genau gleich aufzusetzen, verwenden wir hier ansible. Als Erstes muss ansible mitgeteilt werden, was installiert werden soll. Dies geschieht in den sogenannten playbooks. In meinem Fall sieht das Playbook für die Node Installation folgendermassen aus: --- - hosts: all become: true vars: container_count: 4 default_container_name: docker default_container_image: ubuntu default_container_command: sleep 1d tas…»
 
Keine Bearbeitungszusammenfassung
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 5: Zeile 5:
In meinem Fall sieht das Playbook für die Node Installation folgendermassen aus:
In meinem Fall sieht das Playbook für die Node Installation folgendermassen aus:


--- - hosts: all
knodeinstall_playbook.yml
<syntaxhighlight lang="yaml" copy="" line="1">
---
- hosts: all
   become: true
   become: true
   vars:
   vars:
Zeile 55: Zeile 58:
     - name: Pull default Docker image
     - name: Pull default Docker image
       community.docker.docker_image:
       community.docker.docker_image:
         name: "{{default_container_image}}"
         name: "{{ default_container_image }}"
         source: pull
         source: pull


     - name: Create default containers
     - name: Create default containers
       community.docker.docker_container:
       community.docker.docker_container:
         name: "{{default_container_name}}{{item}}"
         name: "{{ default_container_name }}{{ item }}"
         image: "{{default_container_image}}"
         image: "{{ default_container_image }}"
         command: "{{default_container_command}}"
         command: "{{ default_container_command }}"
         state: present
         state: present
       with_sequence: count={{container_count}}
       with_sequence: count={{ container_count }}
</syntaxhighlight>
 
=== Erster Node aufsetzen ===
Um mit dem Playbook den ersten Node aufzusetzen, muss dieses ausgeführt werden:<syntaxhighlight lang="shell">
ansible-playbook playbook.yml -l server1 -u sammy
</syntaxhighlight>-l server1 definiert den Server
 
-u sammy definiert den User mit welchem ansible auf dem Server einloggd.

Aktuelle Version vom 20. August 2025, 16:43 Uhr

Um alle Kubernetes Nodes genau gleich aufzusetzen, verwenden wir hier ansible.

Als Erstes muss ansible mitgeteilt werden, was installiert werden soll. Dies geschieht in den sogenannten playbooks.

In meinem Fall sieht das Playbook für die Node Installation folgendermassen aus:

knodeinstall_playbook.yml

---
- hosts: all
  become: true
  vars:
    container_count: 4
    default_container_name: docker
    default_container_image: ubuntu
    default_container_command: sleep 1d

  tasks:
    - name: Install aptitude
      apt:
        name: aptitude
        state: latest
        update_cache: true

    - name: Install required system packages
      apt:
        pkg:
          - apt-transport-https
          - ca-certificates
          - curl
          - software-properties-common
          - python3-pip
          - virtualenv
          - python3-setuptools
        state: latest
        update_cache: true

    - name: Add Docker GPG apt Key
      apt_key:
        url: https://download.docker.com/linux/ubuntu/gpg
        state: present

    - name: Add Docker Repository
      apt_repository:
        repo: deb https://download.docker.com/linux/ubuntu focal stable
        state: present

    - name: Update apt and install docker-ce
      apt:
        name: docker-ce
        state: latest
        update_cache: true

    - name: Install Docker Module for Python
      pip:
        name: docker

    - name: Pull default Docker image
      community.docker.docker_image:
        name: "{{ default_container_image }}"
        source: pull

    - name: Create default containers
      community.docker.docker_container:
        name: "{{ default_container_name }}{{ item }}"
        image: "{{ default_container_image }}"
        command: "{{ default_container_command }}"
        state: present
      with_sequence: count={{ container_count }}

Erster Node aufsetzen

Um mit dem Playbook den ersten Node aufzusetzen, muss dieses ausgeführt werden:

ansible-playbook playbook.yml -l server1 -u sammy

-l server1 definiert den Server

-u sammy definiert den User mit welchem ansible auf dem Server einloggd.