KodeKloud IaC Test

KodeKloud IaC Test

Q1

nano script.sh
#!/bin/bash
tar -czf archive.tar.gz /home/bob/dir1

Ctrl + O + Enter + Ctrl + X 保存并退出

chmod +x script.sh

./script.sh

Q2

chmod u+rwx script2.sh

nano script2.sh

删掉原本的内容

#!/bin/bash
cat test.txt

Ctrl + O + Enter + Ctrl + X 保存并退出

Q3

cd ~/playbooks

nano apache.yml
---
- name: Install and configure Apache on server1
  hosts: server1
  become: true
  tasks:
    - name: Install Apache
      apt:
        name: apache2
        state: present
        update_cache: yes

    - name: Start Apache service but disable at boot
      service:
        name: apache2
        state: started
        enabled: no

Ctrl + O + Enter + Ctrl + X 保存并退出

ansible-playbook -i inventory apache.yml

Q4

nano archive.yml
---
- name: Archive /usr/src/security directory on server1
  hosts: server1
  become: true
  tasks:
    - name: Create archive /opt/security/backup.tar.gz
      archive:
        path: /usr/src/security
        dest: /opt/security/backup.tar.gz
        format: gz
      notify:
        - set owner permissions

  handlers:
    - name: set owner permissions
      file:
        path: /opt/security/backup.tar.gz
        owner: bob
        group: bob
        state: file

Ctrl + O + Enter + Ctrl + X 保存并退出

ansible-playbook -i inventory archive.yml

Q5

cd /home/bob/terra-resources

nano main.tf
resource "docker_image" "ubuntu_image" {
  name = "ubuntu:latest"
}

resource "docker_image" "httpd_image" {
  name = "httpd:latest"
}

resource "docker_container" "foo_container" {
  name  = "foo"
  image = docker_image.httpd_image.name
  hostname = "webserver"

  ports {
    internal = 80
    external = 80
  }
}

Ctrl + O + Enter + Ctrl + X 保存并退出

terraform init

terraform plan

terraform apply -auto-approve