Skip to content

Commit

Permalink
Flatten and reorder sidebar structure
Browse files Browse the repository at this point in the history
Signed-off-by: Derek Nola <derek.nola@suse.com>
  • Loading branch information
dereknola committed Dec 7, 2023
1 parent 4d8aab6 commit 6a46ded
Show file tree
Hide file tree
Showing 21 changed files with 58 additions and 84 deletions.
12 changes: 6 additions & 6 deletions docs/advanced/advanced.md → docs/advanced.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,19 @@ This section contains advanced information describing the different ways you can

K3s generates self-signed Certificate Authority (CA) Certificates during startup of the first server node. These CA certificates are valid for 10 years, and are not automatically renewed.

For information on using custom CA certificates, or renewing the self-signed CA certificates, see the [`k3s certificate rotate-ca` command documentation](../cli/certificate.md#certificate-authority-ca-certificates).
For information on using custom CA certificates, or renewing the self-signed CA certificates, see the [`k3s certificate rotate-ca` command documentation](./cli/certificate.md#certificate-authority-ca-certificates).

### Client and Server certificates

K3s client and server certificates are valid for 365 days from their date of issuance. Any certificates that are expired, or within 90 days of expiring, are automatically renewed every time K3s starts.

For information on manually rotating client and server certificates, see the [`k3s certificate rotate` command documentation](../cli/certificate.md#client-and-server-certificates).
For information on manually rotating client and server certificates, see the [`k3s certificate rotate` command documentation](./cli/certificate.md#client-and-server-certificates).

## Token Management

By default, K3s uses a single static token for both servers and agents. This token cannot be changed once the cluster has been created.
It is possible to enable a second static token that can only be used to join agents, or to create temporary `kubeadm` style join tokens that expire automatically.
For more information, see the [`k3s token` command documentation](../cli/token.md).
For more information, see the [`k3s token` command documentation](./cli/token.md).

## Configuring an HTTP proxy

Expand Down Expand Up @@ -277,7 +277,7 @@ Some of the configuration used by rootlesskit and slirp4nets can be set by envir

## Node Labels and Taints

K3s agents can be configured with the options `--node-label` and `--node-taint` which adds a label and taint to the kubelet. The two options only add labels and/or taints [at registration time](../cli/agent.md#node-labels-and-taints-for-agents), so they can only be set when the node is first joined to the cluster.
K3s agents can be configured with the options `--node-label` and `--node-taint` which adds a label and taint to the kubelet. The two options only add labels and/or taints [at registration time](./cli/agent.md#node-labels-and-taints-for-agents), so they can only be set when the node is first joined to the cluster.

All current versions of Kubernetes restrict nodes from registering with most labels with `kubernetes.io` and `k8s.io` prefixes, specifically including the `kubernetes.io/role` label. If you attempt to start a node with a disallowed label, K3s will fail to start. As stated by the Kubernetes authors:

Expand Down Expand Up @@ -353,7 +353,7 @@ If you are installing K3s on a system where SELinux is enabled by default (such
<Tabs>
<TabItem value="Automatic Installation" default>

The [install script](../installation/configuration.md#configuration-with-install-script) will automatically install the SELinux RPM from the Rancher RPM repository if on a compatible system if not performing an air-gapped install. Automatic installation can be skipped by setting `INSTALL_K3S_SKIP_SELINUX_RPM=true`.
The [install script](./installation/configuration.md#configuration-with-install-script) will automatically install the SELinux RPM from the Rancher RPM repository if on a compatible system if not performing an air-gapped install. Automatic installation can be skipped by setting `INSTALL_K3S_SKIP_SELINUX_RPM=true`.

</TabItem>

Expand All @@ -373,7 +373,7 @@ To force the install script to log a warning rather than fail, you can set the f

To leverage SELinux, specify the `--selinux` flag when starting K3s servers and agents.

This option can also be specified in the K3s [configuration file](../installation/configuration.md#configuration-file).
This option can also be specified in the K3s [configuration file](./installation/configuration.md#configuration-file).

```
selinux: true
Expand Down
2 changes: 1 addition & 1 deletion docs/architecture/architecture.md → docs/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import useBaseUrl from '@docusaurus/useBaseUrl';

* A server node is defined as a host running the `k3s server` command, with control-plane and datastore components managed by K3s.
* An agent node is defined as a host running the `k3s agent` command, without any datastore or control-plane components.
* Both servers and agents run the kubelet, container runtime, and CNI. See the [Advanced Options](../advanced/advanced.md#running-agentless-servers-experimental) documentation for more information on running agentless servers.
* Both servers and agents run the kubelet, container runtime, and CNI. See the [Advanced Options](./advanced.md#running-agentless-servers-experimental) documentation for more information on running agentless servers.

![](/img/how-it-works-k3s-revised.svg)

Expand Down
2 changes: 1 addition & 1 deletion docs/cli/server.md
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ The following options must be set to the same value on all servers in the cluste
| `--enable-pprof` | Enable pprof endpoint on supervisor port |
| `--docker` | Use cri-dockerd instead of containerd |
| `--prefer-bundled-bin` | Prefer bundled userspace binaries over host binaries |
| `--disable-agent` | See "[Running Agentless Servers (Experimental)](../advanced/advanced.md#running-agentless-servers-experimental)" |
| `--disable-agent` | See "[Running Agentless Servers (Experimental)](../advanced.md#running-agentless-servers-experimental)" |


### Deprecated Options
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion docs/datastore/cluster-loadbalancer.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ weight: 30
This section describes how to install an external load balancer in front of a High Availability (HA) K3s cluster's server nodes. Two examples are provided: Nginx and HAProxy.

:::tip
External load-balancers should not be confused with the embedded ServiceLB, which is an embedded controller that allows for use of Kubernetes LoadBalancer Services without deploying a third-party load-balancer controller. For more details, see [Service Load Balancer](../networking/networking.md#service-load-balancer).
External load-balancers should not be confused with the embedded ServiceLB, which is an embedded controller that allows for use of Kubernetes LoadBalancer Services without deploying a third-party load-balancer controller. For more details, see [Service Load Balancer](../networking.md#service-load-balancer).

External load-balancers can be used to provide a fixed registration address for registering nodes, or for external access to the Kubernetes API Server. For exposing LoadBalancer Services, external load-balancers can be used alongside or instead of ServiceLB, but in most cases, replacement load-balancer controllers such as MetalLB or Kube-VIP are a better choice.
:::
Expand Down
2 changes: 1 addition & 1 deletion docs/datastore/ha.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Single server clusters can meet a variety of use cases, but for environments whe
- Optional: Zero or more **agent nodes** that are designated to run your apps and services
- Optional: A **fixed registration address** for agent nodes to register with the cluster

For more details on how these components work together, refer to the [architecture section.](../architecture/architecture.md#high-availability-k3s)
For more details on how these components work together, refer to the [architecture section.](../architecture.md#high-availability-k3s)

## Installation Outline

Expand Down
14 changes: 7 additions & 7 deletions docs/faq/faq.md → docs/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ The FAQ is updated periodically and designed to answer the questions our users m

### Is K3s a suitable replacement for Kubernetes?

K3s is a CNCF-certified Kubernetes distribution, and can do everything required of a standard Kubernetes cluster. It is just a more lightweight version. See the [main](../introduction.md) docs page for more details.
K3s is a CNCF-certified Kubernetes distribution, and can do everything required of a standard Kubernetes cluster. It is just a more lightweight version. See the [main](./introduction.md) docs page for more details.

### How can I use my own Ingress instead of Traefik?

Expand All @@ -19,7 +19,7 @@ At this time K3s does not natively support Windows, however we are open to the i

### What exactly are Servers and Agents?

For a breakdown on the components that make up a server and agent, see the [Architecture page](../architecture/architecture.md).
For a breakdown on the components that make up a server and agent, see the [Architecture page](./architecture.md).

### How can I build from source?

Expand All @@ -41,15 +41,15 @@ Kubernetes uses a logging framework known as `klog`, which uses a single logging
Since K3s runs all Kubernetes components within a single process, it is not possible to configure different log levels or destinations for individual Kubernetes components.
Use of the `-v=<level>` or `--vmodule=<module>=<level>` component args will likely not have the desired effect.

See [Additional Logging Sources](../advanced/advanced.md#additional-logging-sources) for even more log options.
See [Additional Logging Sources](./advanced.md#additional-logging-sources) for even more log options.

### Can I run K3s in Docker?

Yes, there are multiple ways to run K3s in Docker. See [Advanced Options](../advanced/advanced.md#running-k3s-in-docker) for more details.
Yes, there are multiple ways to run K3s in Docker. See [Advanced Options](./advanced.md#running-k3s-in-docker) for more details.

### What is the difference between K3s Server and Agent Tokens?

For more information on managing K3s join tokens, see the [`k3s token` command documentation](../cli/token.md).
For more information on managing K3s join tokens, see the [`k3s token` command documentation](./cli/token.md).

### How compatible are different versions of K3s?

Expand All @@ -61,9 +61,9 @@ In short, servers can be newer than agents, but agents cannot be newer than serv

If you are having an issue with deploying K3s, you should:

1) Check the [Known Issues](../known-issues/known-issues.md) page.
1) Check the [Known Issues](./known-issues.md) page.

2) Check that you have resolved any [Additional OS Preparation](../installation/requirements.md#operating-systems). Run `k3s check-config` and ensure that it passes.
2) Check that you have resolved any [Additional OS Preparation](./installation/requirements.md#operating-systems). Run `k3s check-config` and ensure that it passes.

3) Search the K3s [Issues](https://github.com/k3s-io/k3s/issues) and [Discussions](https://github.com/k3s-io/k3s/discussions) for one that matches your problem.

Expand Down
6 changes: 3 additions & 3 deletions docs/helm/helm.md → docs/helm.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ weight: 42

Helm is the package management tool of choice for Kubernetes. Helm charts provide templating syntax for Kubernetes YAML manifest documents. With Helm, developers or cluster administrators can create configurable templates known as Charts, instead of just using static manifests. For more information about creating your own Chart catalog, check out the docs at [https://helm.sh/docs/intro/quickstart/](https://helm.sh/docs/intro/quickstart/).

K3s does not require any special configuration to support Helm. Just be sure you have properly set the kubeconfig path as per the [cluster access](../cluster-access/cluster-access.md) documentation.
K3s does not require any special configuration to support Helm. Just be sure you have properly set the kubeconfig path as per the [cluster access](./cluster-access.md) documentation.

K3s includes a [Helm Controller](https://github.com/k3s-io/helm-controller/) that manages installing, upgrading/reconfiguring, and uninstalling Helm charts using a HelmChart Custom Resource Definition (CRD). Paired with [auto-deploying AddOn manifests](../installation/packaged-components.md), installing a Helm chart on your cluster can be automated by creating a single file on disk.
K3s includes a [Helm Controller](https://github.com/k3s-io/helm-controller/) that manages installing, upgrading/reconfiguring, and uninstalling Helm charts using a HelmChart Custom Resource Definition (CRD). Paired with [auto-deploying AddOn manifests](./installation/packaged-components.md), installing a Helm chart on your cluster can be automated by creating a single file on disk.

### Using the Helm Controller

Expand Down Expand Up @@ -145,7 +145,7 @@ spec:

### Migrating from Helm v2

K3s can handle either Helm v2 or Helm v3. If you wish to migrate to Helm v3, [this](https://helm.sh/blog/migrate-from-helm-v2-to-helm-v3/) blog post by Helm explains how to use a plugin to successfully migrate. Refer to the official Helm 3 documentation [here](https://helm.sh/docs/) for more information. Just be sure you have properly set your kubeconfig as per the section about [cluster access.](../cluster-access/cluster-access.md)
K3s can handle either Helm v2 or Helm v3. If you wish to migrate to Helm v3, [this](https://helm.sh/blog/migrate-from-helm-v2-to-helm-v3/) blog post by Helm explains how to use a plugin to successfully migrate. Refer to the official Helm 3 documentation [here](https://helm.sh/docs/) for more information. Just be sure you have properly set your kubeconfig as per the section about [cluster access.](./cluster-access.md)

:::note
Helm 3 no longer requires Tiller and the `helm init` command. Refer to the official documentation for details.
Expand Down
2 changes: 1 addition & 1 deletion docs/installation/airgap.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ On air-gapped machine:
sudo yum install ./k3s-selinux-1.4-1.el8.noarch.rpm
```

See the [SELinux](../advanced/advanced.md#selinux-support) section for more information.
See the [SELinux](../advanced.md#selinux-support) section for more information.

### Installing K3s in an Air-Gapped Environment

Expand Down
4 changes: 2 additions & 2 deletions docs/installation/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ title: "Configuration Options"
weight: 20
---

This page focuses on the options that are commonly used when setting up K3s for the first time. Refer to the documentation on [Advanced Options and Configuration](../advanced/advanced.md) and the [server](../cli/server.md) and [agent](../cli/agent.md) command documentation for more in-depth coverage.
This page focuses on the options that are commonly used when setting up K3s for the first time. Refer to the documentation on [Advanced Options and Configuration](../advanced.md) and the [server](../cli/server.md) and [agent](../cli/agent.md) command documentation for more in-depth coverage.

## Configuration with install script

As mentioned in the [Quick-Start Guide](../quick-start/quick-start.md), you can use the installation script available at https://get.k3s.io to install K3s as a service on systemd and openrc based systems.
As mentioned in the [Quick-Start Guide](../quick-start.md), you can use the installation script available at https://get.k3s.io to install K3s as a service on systemd and openrc based systems.

You can use a combination of `INSTALL_K3S_EXEC`, `K3S_` environment variables, and command flags to pass configuration to the service configuration.
The prefixed environment variables, `INSTALL_K3S_EXEC` value, and trailing shell arguments are all persisted into the service configuration.
Expand Down
2 changes: 1 addition & 1 deletion docs/installation/network-options.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ weight: 25

This page describes K3s network configuration options, including configuration or replacement of Flannel, and configuring IPv6.

> **Note:** Please reference the [Networking](../networking/networking.md) page for information about CoreDNS, Traefik, and the Service LB.
> **Note:** Please reference the [Networking](../networking.md) page for information about CoreDNS, Traefik, and the Service LB.
## Flannel Options

Expand Down
2 changes: 1 addition & 1 deletion docs/installation/packaged-components.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ If Traefik had already been deployed prior to creating the `traefik.skip` file,

## Helm AddOns

For information about managing Helm charts via auto-deploying manifests, refer to the section about [Helm.](../helm/helm.md)
For information about managing Helm charts via auto-deploying manifests, refer to the section about [Helm.](../helm.md)



4 changes: 2 additions & 2 deletions docs/installation/requirements.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ reboot
</TabItem>
<TabItem value="debian" label="Ubuntu / Debian">

Older Debian release may suffer from a known iptables bug. See [Known Issues](../known-issues/known-issues.md#iptables).
Older Debian release may suffer from a known iptables bug. See [Known Issues](../known-issues.md#iptables).

It is recommended to turn off ufw (uncomplicated firewall):
```bash
Expand All @@ -76,7 +76,7 @@ Additional ports may need to be opened depending on your setup. See [Inbound Rul
</TabItem>
<TabItem value="pi" label="Raspberry Pi">

Raspberry Pi OS is Debian based, and may suffer from a known iptables bug. See [Known Issues](../known-issues/known-issues.md#iptables).
Raspberry Pi OS is Debian based, and may suffer from a known iptables bug. See [Known Issues](../known-issues.md#iptables).

Standard Raspberry Pi OS installations do not start with `cgroups` enabled. **K3S** needs `cgroups` to start the systemd service. `cgroups`can be enabled by appending `cgroup_memory=1 cgroup_enable=memory` to `/boot/cmdline.txt`.

Expand Down
2 changes: 1 addition & 1 deletion docs/installation/uninstall.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ It does not remove any data from external datastores, or created by pods using e

If you installed K3s using the installation script, a script to uninstall K3s was generated during installation.

If you are planning on rejoining a node to an existing cluster after uninstalling and reinstalling, be sure to delete the node from the cluster to ensure that the node password secret is removed. See the [Node Registration](../architecture/architecture.md#how-agent-node-registration-works) documentation for more information.
If you are planning on rejoining a node to an existing cluster after uninstalling and reinstalling, be sure to delete the node from the cluster to ensure that the node password secret is removed. See the [Node Registration](../architecture.md#how-agent-node-registration-works) documentation for more information.

### Uninstalling Servers
To uninstall K3s from a server node, run:
Expand Down
Loading

0 comments on commit 6a46ded

Please sign in to comment.