FOSDEM 2023 Recap

FOSDEM 2023 回顧

After being busy with graduation and job hunting, followed by three years of the pandemic, it has been a long time since I attended a major international conference abroad. This time, seeing that OCF was going to have a booth at FOSDEM and would partially subsidize travel expenses, I thought about it and decided to attend this major European open-source conference.

From Bare Metal to Cloud: OpenStack Deployment Tools 3

Auto Draft

In the previous article, we introduced two deployment tools backed by powerful vendors. This article will introduce deployment projects mostly maintained by community members: OpenStack-Ansible, Kolla-Ansible, and OpenStack-Helm. OpenStack-Ansible, as the name suggests, is a tool for deploying OpenStack via Ansible, supporting a wide range of OpenStack components and various plugins. OpenStack-Ansible primarily installs OpenStack using LXC containers + Ansible playbooks, though some services, such as nova-compute, are not placed within LXC containers. It also offers the most network plugin support among the three tools introduced today, including Calico, which is very useful in certain special environments. Besides deploying OpenStack, OpenStack-Ansible can also deploy the Ceph storage required for OpenStack, whereas other projects like Kolla-Ansible require manual Ceph cluster deployment and configuration via config overrides. Kolla-Ansible is the deployment tool chosen for this series; compared to OpenStack-Ansible [...]

From Bare Metal to Cloud: OpenStack Deployment Tools 2

從裸機到雲端:OpenStack 部屬工具 2

In the previous article, we introduced DevStack and MicroStack, two deployment methods that are very easy to get started with but are more geared towards development and testing. Today, I will introduce TripleO and OpenStack Charms, two deployment tools backed by powerful vendors. TripleO is short for "OpenStack on OpenStack." It is an OpenStack project whose primary function is to help you deploy and maintain an OpenStack Cloud suitable for production environments using OpenStack components. Currently, TripleO is mainly maintained by Red Hat and is the upstream deployment project for Red Hat OpenStack Platform (RHOSP). Architecture Overview: As mentioned, TripleO is "OpenStack on OpenStack," meaning you will have two OpenStack environments. One environment is called the undercloud. The undercloud contains necessary OpenStack components used to deploy our overcloud. The overcloud is the OpenStack cluster deployed by the undercloud, which can be used for production, staging, [...]

From Bare Metal to Cloud: OpenStack Deployment Tools 1

從裸機到雲端:OpenStack 部屬工具 1

The previous three weeks introduced cloud concepts and OpenStack architecture. Starting today, we will dive into practical introductions related to OpenStack deployment. First, I will introduce some common OpenStack deployment tools. There are many types of OpenStack deployment tools, each suitable for different architectures and environments. In these two articles, I will go over some common OpenStack deployment tools, including: DevStack, MicroStack, TripleO, OpenStack Charms, OpenStack-Ansible, Kolla-Ansible, and OpenStack-Helm. DevStack: As the name suggests, "DevStack" is intended for "Devs." Its main purpose is to provide OpenStack developers with an environment to quickly test features. DevStack is essentially a series of shell scripts that, by default, use the latest versions based on the git master branch to quickly deploy a complete OpenStack environment. Its primary use is as an interactive development environment and as the basis for functional testing in upstream OpenStack components. MicroStack: What is MicroStack? An OpenStack Environment in 2 commands. MicroStack is a project that allows you to generate a basic OpenStack environment with just two commands. It can greatly reduce [...]

From Bare Metal to Cloud: Introduction to OpenStack Cinder

Auto Draft

Today we are going to introduce the final OpenStack component, Cinder. Cinder is a service commonly provided in OpenStack deployments and is one of the core OpenStack projects. Let's look at what services Cinder provides and what its architecture looks like. What is Cinder? The official documentation states: Cinder is the OpenStack Block Storage service, used to provide volumes for Nova virtual machines, Ironic bare metal, containers, etc. You can think of Cinder as a service that provides hard drives. It provides an API so you can mount hard drives to instances to provide storage space. In addition to simply providing block storage, Cinder also provides volume snapshots and backup functions, and can use volume types to manage different backends or storage spaces. Cinder's design goals are: Microservice-based architecture: allowing developers to quickly add new features; Highly available: scalable to very high workloads; Fault-tolerant: isolated processes to avoid cascading failures; Recoverable: Admins can easily discover, adjust, and solve problems; Open standards: becoming a reference implementation for community-driven APIs. Cinder Architecture: Cinder [...]

From Bare Metal to Cloud: Introduction to OpenStack Glance

從裸機到雲端:OpenStack Glance 介紹

After several articles on Neutron, we finally come to the next core OpenStack project. This time we will introduce Glance, which is often overlooked but very important. What is Glance? The official documentation defines it as: The Image service (Glance) allows users to upload and discover data assets for use with other services. It currently provides images and metadata definitions. Simply put, Glance is a service that lets you store and download images and metadata definitions. Images: Glance image services include searching, uploading, and downloading virtual machine (VM) images. Glance has a RESTful API that allows users to query VM image metadata and download actual image data. There are many ways to store images; common ones currently include: local filesystem, Ceph, Swift, etc. Metadata Definitions: While storing images, Glance can also store a Metadata Definitions Catalog. This provides other OpenStack services with a way to determine via API calls what can be applied to OpenStack [...]

From Bare Metal to Cloud: An Introduction to OpenStack Neutron — OVN vs OVS

Auto Draft

The previous article described the reference architecture of the OVN Plug-in in OpenStack. This article will compare the main differences between using OVN and OVS in OpenStack Neutron. Architectural Perspective: This table, translated from the official FAQ, clearly shows the architectural differences between OVN and OVS. Item: ml2/ovs | ml2/networking-ovn. Communication between agent/server: RabbitMQ message + RPC | ovsdb protocol between NorthBound and SouthBound databases. l3HA: The ha field in the router can be set during deployment to enable or disable l3HA | HA is automatically enabled when there are multiple network nodes. DVR [...]

From Bare Metal to Cloud: Introduction to OpenStack Neutron — OVN Architecture

從裸機到雲端:OpenStack Neutron — OVN Plug-in 架構

The previous article introduced OVN. This article will dive into the reference architecture of the OVN Plug-in in OpenStack. Architectural Layout: The reference architecture divides OVN components into 4 different types of nodes, each responsible for different tasks. Controller Node: The controller node mainly provides the following functions: 1 management interface, Authentication service (Keystone), Image service (Glance), Network management via OVN ML2 mechanism driver (control plane), Compute resource management (Nova control plane). Database Node: The database node is mainly responsible for OVN-related databases, including the following components: 1 management interface, ovn-northd, OVN northbound database, OVN [...]