Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: make it possible for lima to provide both #4789

Merged
merged 1 commit into from Nov 14, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
62 changes: 62 additions & 0 deletions website/docs/lima/customizing.md
@@ -0,0 +1,62 @@
---
sidebar_position: 4
title: Customizing Lima instance
description: Customizing Lima
keywords: [podman desktop, containers, kubernetes, lima]
tags: [lima]
---

# Customizing the Lima instance for varying workloads

You can customize Lima instance, using YAML and `yq`.

#### Procedure

- To create a new instance:

```shell-session
$ limactl create <instance>
```

- To edit an existing instance:

```shell-session
$ limactl edit <instance>
```

Some of the things you can edit:

- Change the number of CPUs, the memory, and the disk size
- Change the operating system (the Linux distribution)
- Modify the cluster setup (the Kubernetes distribution)
- Run **both** of container workloads and Kubernetes workloads

### Containers

You can install a container engine, in addition to the existing runtime.

For instance you can install [Podman Engine](https://github.com/containers/podman),
or you can install [Docker Engine](https://github.com/docker/docker).
After that you can port forward the socket, to the host `Dir`.

- `/var/run/docker.sock`
- `/run/podman/podman.sock`

```bash
export DOCKER_HOST="unix://{{.Dir}}/sock/docker.sock"
```

### Kubernetes

You can install Kubernetes, on top of the existing container engine.

For instance you can use [CRI-O](https://github.com/cri-o/cri-o) for Podman,
or [CRI-Dockerd](https://github.com/Mirantis/cri-dockerd) for Docker.
After that you can copy the `kubeconfig.yaml` file, to the host `Dir`.

- `/etc/rancher/k3s/k3s.yaml`
- `/etc/kubernetes/admin.conf`

```bash
export KUBECONFIG="{{.Dir}}/copied-from-guest/kubeconfig.yaml"
```