Convert Figma logo to code with AI

rancher logorke2

No description available

1,504
263
1,504
184

Top Related Projects

27,529

Lightweight Kubernetes

109,710

Production-Grade Container Scheduling and Management

15,866

Deploy a Production Ready Kubernetes Cluster

1,708

The self-managing, auto-upgrading, Kubernetes distribution for everyone

MicroK8s is a small, fast, single-package Kubernetes for datacenters and the edge.

Quick Overview

RKE2, also known as RKE Government, is a Kubernetes distribution that focuses on security and compliance within the FIPS 140-2 guidelines. It is designed to be a fully conformant Kubernetes distribution, with a focus on security and compliance, that solves the common challenges of installing and running Kubernetes in both datacenter and cloud environments.

Pros

  • Enhanced security features, including FIPS 140-2 compliance
  • Simplified installation and management process
  • Regular updates and active maintenance by Rancher
  • Seamless integration with other Rancher products

Cons

  • Steeper learning curve compared to some other Kubernetes distributions
  • May have higher resource requirements due to additional security features
  • Limited customization options compared to vanilla Kubernetes
  • Potential compatibility issues with some third-party tools or plugins

Getting Started

To install RKE2 on a Linux system, you can use the following commands:

# Download the RKE2 install script
curl -sfL https://get.rke2.io | sh -

# Enable and start the RKE2 server service
systemctl enable rke2-server.service
systemctl start rke2-server.service

# Set up the kubectl configuration
export KUBECONFIG=/etc/rancher/rke2/rke2.yaml
PATH=$PATH:/var/lib/rancher/rke2/bin

# Verify the installation
kubectl get nodes

This will install RKE2 as a server node. For more detailed instructions, including setting up agent nodes and configuring additional options, refer to the official RKE2 documentation.

Competitor Comparisons

27,529

Lightweight Kubernetes

Pros of k3s

  • Lighter weight and more resource-efficient, ideal for edge computing and IoT devices
  • Simpler installation and setup process, with a single binary distribution
  • Faster startup time and lower memory footprint

Cons of k3s

  • Less suitable for large-scale enterprise deployments
  • Limited customization options compared to RKE2
  • May lack some advanced features and security measures present in RKE2

Code Comparison

k3s installation:

curl -sfL https://get.k3s.io | sh -

RKE2 installation:

curl -sfL https://get.rke2.io | sh -

Both projects use similar installation methods, but their internal architectures and components differ significantly. k3s focuses on simplicity and minimal resource usage, while RKE2 prioritizes enterprise-grade features and security.

k3s is better suited for smaller deployments, edge computing, and resource-constrained environments. RKE2 is more appropriate for larger, production-grade clusters with stringent security requirements and the need for advanced features.

109,710

Production-Grade Container Scheduling and Management

Pros of Kubernetes

  • Larger community and ecosystem, with more extensive documentation and resources
  • Greater flexibility and customization options for advanced users
  • Wider range of supported platforms and deployment scenarios

Cons of Kubernetes

  • More complex setup and configuration process
  • Higher resource requirements for management components
  • Steeper learning curve for new users and administrators

Code Comparison

RKE2:

rke2_version: v1.21.5+rke2r2
system_default_registry: ""
write_kubeconfig_mode: "0644"

Kubernetes:

apiVersion: kubeadm.k8s.io/v1beta3
kind: ClusterConfiguration
kubernetesVersion: v1.21.0
networking:
  podSubnet: 10.244.0.0/16

RKE2 configuration is typically simpler and more concise, while Kubernetes often requires more detailed configuration files. RKE2 aims to provide a more streamlined experience with sensible defaults, whereas Kubernetes offers more granular control over cluster settings.

Both projects use YAML for configuration, but RKE2 tends to have a flatter structure and fewer required fields. Kubernetes configurations often involve multiple YAML documents and more complex hierarchies to define various cluster components and settings.

15,866

Deploy a Production Ready Kubernetes Cluster

Pros of kubespray

  • Supports multiple operating systems and cloud providers
  • Highly customizable with extensive configuration options
  • Can deploy and manage multi-node clusters

Cons of kubespray

  • More complex setup and learning curve
  • Requires manual intervention for upgrades
  • Slower deployment process compared to RKE2

Code Comparison

kubespray:

all:
  vars:
    ansible_user: ubuntu
    ansible_become: true
    kubernetes_version: v1.21.0
    kube_network_plugin: calico

RKE2:

token: my-shared-secret
tls-san:
  - my-kubernetes-domain.com
disable:
  - rke2-ingress-nginx

Key Differences

  • kubespray uses Ansible for deployment, while RKE2 is a standalone binary
  • RKE2 focuses on simplicity and ease of use, while kubespray offers more flexibility
  • kubespray supports a wider range of configurations, but RKE2 provides a more streamlined experience
  • RKE2 includes built-in components like etcd and containerd, while kubespray allows for more customization of these components

Both tools are actively maintained and have strong community support, but they cater to different use cases and preferences in the Kubernetes ecosystem.

1,708

The self-managing, auto-upgrading, Kubernetes distribution for everyone

Pros of OKD

  • Offers a complete OpenShift distribution with enterprise-grade features
  • Provides a web console for easier cluster management
  • Includes integrated CI/CD pipelines and developer tools

Cons of OKD

  • Higher resource requirements and complexity compared to RKE2
  • Steeper learning curve for administrators and developers
  • Less flexibility in terms of customization and lightweight deployments

Code Comparison

OKD (OpenShift):

apiVersion: apps.openshift.io/v1
kind: DeploymentConfig
metadata:
  name: example-app
spec:
  replicas: 3
  template:
    spec:
      containers:
      - name: example-container
        image: example-image:latest

RKE2:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: example-app
spec:
  replicas: 3
  template:
    spec:
      containers:
      - name: example-container
        image: example-image:latest

The code comparison shows that OKD uses OpenShift-specific resources like DeploymentConfig, while RKE2 uses standard Kubernetes resources. This highlights OKD's tighter integration with OpenShift features, whereas RKE2 maintains closer alignment with vanilla Kubernetes.

MicroK8s is a small, fast, single-package Kubernetes for datacenters and the edge.

Pros of MicroK8s

  • Lightweight and fast to install, ideal for edge computing and IoT devices
  • Snap-based installation provides automatic updates and easy management
  • Includes add-ons for common services like DNS, dashboard, and storage

Cons of MicroK8s

  • Limited to Ubuntu and other snap-supported Linux distributions
  • Single-node focused, requiring additional setup for multi-node clusters
  • Less suitable for large-scale production environments compared to RKE2

Code Comparison

MicroK8s installation:

sudo snap install microk8s --classic
microk8s status --wait-ready
microk8s kubectl get nodes

RKE2 installation:

curl -sfL https://get.rke2.io | sh -
systemctl enable rke2-server.service
systemctl start rke2-server.service

Both projects aim to simplify Kubernetes deployment, but they target different use cases. MicroK8s focuses on simplicity and ease of use for small-scale deployments, while RKE2 is designed for production-grade clusters with enhanced security features. The choice between them depends on the specific requirements of your project, such as scale, supported platforms, and desired features.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

RKE2

RKE2

RKE2, also known as RKE Government, is Rancher's next-generation Kubernetes distribution.

It is a fully conformant Kubernetes distribution that focuses on security and compliance within the U.S. Federal Government sector.

To meet these goals, RKE2 does the following:

For more information and detailed installation and operation instructions, please visit our docs.

Quick Start

Here's the extremely quick start:

curl -sfL https://get.rke2.io | sh -
systemctl enable rke2-server.service
systemctl start rke2-server.service
# Wait a bit
export KUBECONFIG=/etc/rancher/rke2/rke2.yaml PATH=$PATH:/var/lib/rancher/rke2/bin
kubectl get nodes

For a bit more, check out our full quick start guide.

Installation

A full breakdown of installation methods and information can be found here.

Configuration File

The primary way to configure RKE2 is through its config file. Command line arguments and environment variables are also available, but RKE2 is installed as a systemd service and thus these are not as easy to leverage.

By default, RKE2 will launch with the values present in the YAML file located at /etc/rancher/rke2/config.yaml.

An example of a basic server config file is below:

# /etc/rancher/rke2/config.yaml
write-kubeconfig-mode: "0644"
tls-san:
  - "foo.local"
node-label:
  - "foo=bar"
  - "something=amazing"

In general, cli arguments map to their respective yaml key, with repeatable cli args being represented as yaml lists. So, an identical configuration using solely cli arguments is shown below to demonstrate this:

rke2 server \
  --write-kubeconfig-mode "0644"    \
  --tls-san "foo.local"             \
  --node-label "foo=bar"            \
  --node-label "something=amazing"

It is also possible to use both a configuration file and cli arguments. In these situations, values will be loaded from both sources, but cli arguments will take precedence. For repeatable arguments such as --node-label, the cli arguments will overwrite all values in the list.

Finally, the location of the config file can be changed either through the cli argument --config FILE, -c FILE, or the environment variable $RKE2_CONFIG_FILE.

FAQ

Security

Security issues in RKE2 can be reported by sending an email to security@rancher.com. Please do not open security issues here.