Skip to content

Commit

Permalink
feat: k3d Rancher Desktop (#342)
Browse files Browse the repository at this point in the history
Co-authored-by: Claywd <[email protected]>
Co-authored-by: Frédéric Harper <[email protected]>
  • Loading branch information
3 people authored Jul 10, 2023
1 parent 030b521 commit a00e12d
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 3 deletions.
39 changes: 38 additions & 1 deletion docs/common/faq.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -60,4 +60,41 @@ If Docker is running, and working properly (run `docker run hello-world` in your

```shell
export DOCKER_HOST="unix://$HOME/.docker/run/docker.sock"
```
```

### Using Rancher Desktop Instead of Docker Desktop

Firstly, you need to disable Traefik in your Rancher Desktop because our installation uses Traefik and port forwarding. Between the conflicts and the double routing, it's just easier to disable Traefik on Rancher Desktop.

#### macOS (Apple Silicon)

> This is experimental. It works, but all of the features it uses are considered beta or exprimental by Rancher Desktop.

For Apple Silicon macOS, you need to enable a few features in Rancher Desktop before this works. Run the following command in your terminal:

```shell
rdctl set --container-engine.name docker \
--kubernetes.options.traefik=false \
--experimental.virtual-machine.type vz \
--experimental.virtual-machine.use-rosetta=true \
--experimental.virtual-machine.mount.type virtiofs \
--experimental.virtual-machine.socket-vmnet=true
```

If you have any issues, reach out to us on our [Slack community](https://kubefirst.io/slack).

#### macOS (Intel)

Not yet tested.

#### Windows Subsystem for Linux (WSL) on Windows

Rancher Desktop is not yet supported but Docker Desktop is with [WSL on Windows](https://learn.microsoft.com/en-us/windows/wsl/install). There are limitations within Rancher Desktop and how it manages volumes which prevent us from supporting it at this moment.

### Using nerdctl Instead of Docker

Creation via [nerdctl](https://github.com/containerd/nerdctl) isn't supported yet. k3d doesn't fully support it probably because it doesn't have an API that is publicly exposed like the docker deamon. We need k3d to support nerdctl and containerd on WSL before we can add support in kubefirst.

### Using Lima Instead of Docker Desktop

We didn't try kubefirst k3d cluster creation with [Lima](https://github.com/lima-vm/lima) yet. If you are using it, let us know how it's working, and if you think it's something we can support with the existing codebase.
9 changes: 8 additions & 1 deletion docs/k3d/partials/github/_install.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,13 @@ mkcert -install
```

This is not an optional step: the cluster creation will fail if you don't install the mkcert CA in your trusted store.
## Working without SSH

If you need your kubefirst installation to avoid using ssh whenver possible, you can bypass ssh and kubefirst will configure itself, argo, github actions, argocd, and your entire gitops workflow to utilize https instead of ssh at all times.

Provide the flag `--git-protocol https` when building your k3d cluster and kubefirst will take care of the rest.

If you ever need to change this, you will need to rebuild the cluser or manually update the templates in your gitops repo.

## Create your new local cluster

Expand Down Expand Up @@ -91,4 +98,4 @@ You will be automatically connected to your new Kubernetes cluster. To view all

```bash
kubectl get pods -A
```
```
10 changes: 9 additions & 1 deletion docs/k3d/partials/gitlab/_install.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,14 @@ mkcert -install

This is not an optional step: the cluster creation will fail if you don't install the mkcert CA in your trusted store.

## Working without SSH

If you need your kubefirst installation to avoid using ssh whenver possible, you can bypass ssh and kubefirst will configure itself, argo, github actions, argocd, and your entire gitops workflow to utilize https instead of ssh at all times.

Provide the flag `--git-protocol https` when building your k3d cluster and kubefirst will take care of the rest.

If you ever need to change this, you will need to rebuild the cluser or manually update the templates in your gitops repo.

## Create your new local cluster

To create a new kubefirst cluster locally, run
Expand Down Expand Up @@ -100,4 +108,4 @@ You will be automatically connected to your new Kubernetes cluster. To view all

```bash
kubectl get pods -A
```
```

0 comments on commit a00e12d

Please sign in to comment.