k3s-oci-cluster
containerd
Our great sponsors
k3s-oci-cluster | containerd | |
---|---|---|
6 | 125 | |
206 | 16,131 | |
- | 3.8% | |
0.0 | 9.9 | |
5 months ago | 6 days ago | |
HCL | Go | |
GNU General Public License v3.0 only | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
k3s-oci-cluster
-
K8s cluster with OCI free-tier and Raspberry Pi4 (part 1)
After you've cloned the repo, go to oci/terraform.tfvars and edit all values with the ones from your notes file. This build uses the great terraform configuration files from this repo of garutilorenzo (using version 2.2; if you have errors running all of this, you should check what changed in this repo since v2.2, or 01.02.23). You can read here if you want to customize your configuration and edit the main.tf file. This is the diagram that garutilorenzo made and how your deployment will look like (this tutorial is without Longhorn and ArgoCD, with 1 server nodes + 3 worker nodes and with ingress controller set as Traefik): *note - I've got some problems with clock of WSL2 not being synced to Windows clock. And provisioning didn't worked so if you receive clock errors too, verify your time with datecommand, if out of sync just run sudo hwclock -s or sudo ntpdate time.windows.com. Now just run terraform plan and then terraform apply. If everything was ok you should have your resources created.
-
Deploy Kubernetes (K8s) on Amazon AWS using mixed on-demand and spot instances
We use the same stack used in this repository. This stack need longhorn and nginx ingress.
-
Deploy a Kubernetes cluster for free, using K3s and Oracle always free resources
Var Required Desc region yes set the correct OCI region based on your needs availability_domain yes Set the correct availability domain. See how to find the availability domain compartment_ocid yes Set the correct compartment ocid. See how to find the compartment ocid cluster_name yes the name of your K3s cluster. Default: k3s-cluster k3s_token yes The token of your K3s cluster. How to generate a random token my_public_ip_cidr yes your public ip in cidr format (Example: 195.102.xxx.xxx/32) environment yes Current work environment (Example: staging/dev/prod). This value is used for tag all the deployed resources compute_shape no Compute shape to use. Default VM.Standard.A1.Flex. NOTE Is mandatory to use this compute shape for provision 4 always free VMs os_image_id no Image id to use. Default image: Canonical-Ubuntu-20.04-aarch64-2022.01.18-0. See how to list all available OS images oci_core_vcn_cidr no VCN CIDR. Default: oci_core_vcn_cidr oci_core_subnet_cidr10 no First subnet CIDR. Default: 10.0.0.0/24 oci_core_subnet_cidr11 no Second subnet CIDR. Default: 10.0.1.0/24 oci_identity_dynamic_group_name no Dynamic group name. This dynamic group will contains all the instances of this specific compartment. Default: Compute_Dynamic_Group oci_identity_policy_name no Policy name. This policy will allow dynamic group 'oci_identity_dynamic_group_name' to read OCI api without auth. Default: Compute_To_Oci_Api_Policy kube_api_port no Kube api default port Default: 6443 public_lb_shape no LB shape for the public LB. Default: flexible. NOTE is mandatory to use this kind of shape to provision two always free LB (public and private) http_lb_port no http port used by the public LB. Default: 80 https_lb_port no http port used by the public LB. Default: 443 k3s_server_pool_size no Number of k3s servers deployed. Default 2 k3s_worker_pool_size no Number of k3s workers deployed. Default 2 install_longhorn no Boolean value, install longhorn "Cloud native distributed block storage for Kubernetes". Default: true longhorn_release no Longhorn release. Default: v1.2.3 unique_tag_key no Unique tag name used for tagging all the deployed resources. Default: k3s-provisioner unique_tag_value no Unique value used with unique_tag_key. Default: https://github.com/garutilorenzo/k3s-oci-cluster PATH_TO_PUBLIC_KEY no Path to your public ssh key (Default: "~/.ssh/id_rsa.pub) PATH_TO_PRIVATE_KEY no Path to your private ssh key (Default: "~/.ssh/id_rsa)
containerd
-
Exploring 5 Docker Alternatives: Containerization Choices for 2024
Containerd and nerdctl
-
The Road To Kubernetes: How Older Technologies Add Up
Kubernetes on the backend used to utilize docker for much of its container runtime solutions. One of the modular features of Kubernetes is the ability to utilize a Container Runtime Interface or CRI. The problem was that Docker didn't really meet the spec properly and they had to maintain a shim to translate properly. Instead users could utilize the popular containerd or cri-o runtimes. These follow the Open Container Initiative or OCI's guidelines on container formats.
-
Fun with Avatars: Containerize the app for deployment & distribution | Part. 2
Container Engine: A runtime that executes and manages containers. Docker and containerd are popular container engines.
-
Complexity by Simplicity - A Deep Dive Into Kubernetes Components
Multiple container runtimes are supported, like conatinerd, cri-o, or other CRI compliant runtimes.
-
macOS Containers v0.0.1
If you really want good adoption, you’ll have to figure out a way for devs to try it out without first having to disable SIP.
Is this related to the code you tried to have merged here: https://github.com/containerd/containerd/pull/8789 ?
This is a failed attempt to upstream part of containerd changes: https://github.com/containerd/containerd/pull/8789
Other part of containerd changes waits for gods-know-what: https://github.com/containerd/containerd/pull/9054
But I haven't gave up yet.
-
Kubernetes Setup With WSL Control Plane and Raspberry Pi Workers
containerd is required by kubernetes to handle containers on its behalf. A big thanks to the HostAfrica blog for the information on setting containerd up for debain. So the containerd install will need to happen on both the WSL2 instance and the Raspberry Pis. For WSL2 you can just install containerd directly:
-
Understanding Docker Architecture: A Beginner's Guide to How Docker Works
Containerd: This is an open-source container runtime to manage a container's lifecycle. Docker and Kubernetes can use Containerd by providing a high-level API for managing containers and a low-level runtime for container orchestration.
-
The advantage of WASM compared with container runtimes
Right now most early examples alas boot a container with a wasm runtime for each wasm instance, which is a sad waste. The whole advantage of wasm should be very lightweight low overhead wasm runtime instances atop a common wasm process. Having a process or container for each instance loses a ton of the benefit, makes it not much better than a regular container.
Thankfully there is work like the Containerd Sandbox API which enables new architectures like this. https://github.com/containerd/containerd/issues/4131
It's still being used to spawn a wasm processes per instance for now, but container runtime project Kuasar is already using the Sandbox API to save significant resources, and has already chimed in in comments on HN to express a desire to have shared-process/multi-wasm-instamxe runtimes, which could indeed allow sub ms spawning that could enable instance per request architectures. https://github.com/kuasar-io/kuasar
-
Best virtualization solution with Ubuntu 22.04
containerd
What are some alternatives?
podman - Podman: A tool for managing OCI containers and pods.
cri-o - Open Container Initiative-based implementation of Kubernetes Container Runtime Interface
Moby - The Moby Project - a collaborative project for the container ecosystem to assemble container-based systems
podman-compose - a script to run docker-compose.yml using podman
colima - Container runtimes on macOS (and Linux) with minimal setup
sysbox - An open-source, next-generation "runc" that empowers rootless containers to run workloads such as Systemd, Docker, Kubernetes, just like VMs.
cri-dockerd - dockerd as a compliant Container Runtime Interface for Kubernetes
gvisor - Application Kernel for Containers
minikube - Run Kubernetes locally
nerdctl - contaiNERD CTL - Docker-compatible CLI for containerd, with support for Compose, Rootless, eStargz, OCIcrypt, IPFS, ...
kaniko - Build Container Images In Kubernetes
fly-podman-daemon