From c7530211c7568bc7bbd119cbd17cb96b7f2e7429 Mon Sep 17 00:00:00 2001 From: Jan Jambor Date: Fri, 21 Jun 2024 21:19:27 +0200 Subject: [PATCH] =?UTF-8?q?new:=20Entwurf=20der=20Dokumentation=20f=C3=BCr?= =?UTF-8?q?=20VMS=20und=20LXCs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .order | 5 ++++- vms-and-lxcs.md | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 vms-and-lxcs.md diff --git a/.order b/.order index 77d8b7f..5a70f09 100644 --- a/.order +++ b/.order @@ -2,11 +2,14 @@ README welcome getting-started agile-working +traceability-concept documentation-guidelines versioning branching-code-review-process -network +requirements-gathering-interview service-catalogue +network +vms-and-lxcs know-how/git-commands know-how/sap-tricks faq diff --git a/vms-and-lxcs.md b/vms-and-lxcs.md new file mode 100644 index 0000000..caf35a9 --- /dev/null +++ b/vms-and-lxcs.md @@ -0,0 +1,37 @@ +# Basic Know-How about VMs and LXC containers + +## Main assumption and general conditions + +### Microsft Azure compatible Linux Distributions + +We love Debian, but it's not well supported by Microsoft Azure. Thus we are going mainstream and use Ubuntu. + +### IaC vs. CaC + +Infratsructure as Code (IaC) is how we deploy virtual bare-metal. We are using Terraform for that. + +Configuration as Code (CaC) is how we configure the VMs and LXC containers and install software. We are using Ansible for that. + +We are defining the boundary between IaC and CaC as follows: + +- IaC is responsible for the VMs and LXC containers, the network, and the storage. +- IaC ends as soon as the VMs and LXC containers are up and running. +- SSH keys are installed by IaC. +- CaC is responsible for the software installed on the VMs and LXC containers. +- CaC uses the SSH keys installed by IaC to connect to the VMs and LXC containers. + +### Cloud-init VM template + +Our hypervisor is Proxmox, which is based on Debian. We are using the [Proxmox cloud-init](https://pve.proxmox.com/wiki/Cloud-Init_Support) template for Ubuntu. + +We are using a small server images to keep the attack surface small. The cloud-init template is a server Ubuntu image with cloud-init installed. Get the URL from the Ubuntu website and download it to the Proxmox servers local storage for ISO images. Ubuntu website link: [https://cloud-images.ubuntu.com/releases/](https://cloud-images.ubuntu.com/releases/). We are going for the file ending in `*server-cloudimg-amd64.img`. + +### LXC container template + +We are also using Ubuntu for the LXC containers. We are using the latest Ubuntu standard LXC template you can download via the Proxmox web interface for that. + +### SSH keys + +## Create a VM with Terraform + +## Create an LXC container with Terraform