# Installing Edera on Google Compute Engine (GCE)

Edera deploys as a container runtime which GKE managed-nodes do not support. Edera is fully compatible on GCP nodes and can integrate with any Kubernetes control-plane. See below for more details installing Edera with Kubernetes on GCP.

## GCE recommendations

- Use any Linux distribution except Container-Optimized OS (COS)
- Works on all GCE instances

Installing Edera on Google Compute Engine follows the same process as any Linux installation.

👉 **Start with**: [Run the Edera installer](https://docs.edera.dev/guides/install/edera-installer/) guide.

## Kubernetes integration for GCE

After installing Edera, you’ll need to configure Kubernetes to use Edera’s container runtime interface (CRI) at `/var/lib/edera/protect/cri.socket`.

### New Kubernetes cluster with kubeadm

Initialize your cluster with Edera’s CRI socket:

```bash
kubeadm init --cri-socket=unix:///var/lib/edera/protect/cri.socket
```

For worker nodes:

```bash
kubeadm join [control-plane-ip:port] --token [token] --discovery-token-ca-cert-hash [hash] --cri-socket=unix:///var/lib/edera/protect/cri.socket
```

### Existing kubelet configuration

Configure kubelet to use Edera’s CRI socket by adding:

```bash
--container-runtime-endpoint=unix:///var/lib/edera/protect/cri.socket
```

Option 1: Service file

Edit kubelet service:

```bash
sudo systemctl edit kubelet
```

Add:

```ini
[Service]
Environment="KUBELET_EXTRA_ARGS=--container-runtime-endpoint=unix:///var/lib/edera/protect/cri.socket"
```

Option 2: Configuration file

Edit `/var/lib/kubelet/config.yaml`:

```yaml
containerRuntimeEndpoint: unix:///var/lib/edera/protect/cri.socket
```

**Important**: CLI options take precedence over configuration files. If your kubelet is already configured with `--container-runtime-endpoint` via command line arguments, remove that option or the configuration file setting will be ignored.

Restart kubelet:

```bash
sudo systemctl daemon-reload
sudo systemctl restart kubelet
```

## Important notes

### Unsupported environments

Edera **does not support** k3d, kind, or minikube because they don’t allow CRI socket configuration.

## What’s next

Edera is now running on your GCE instance with hypervisor-level container isolation.

### Next Steps

- **[Set up monitoring](https://docs.edera.dev/guides/observability/)** to track your workloads
- **[Kernel customization](https://docs.edera.dev/guides/kernel/)** for advanced kernel configuration
- **[Explore GPU support](https://docs.edera.dev/guides/gpu/)** for AI/ML workloads on GCP

### Additional Resources

- **[GCP deployment options](https://docs.edera.dev/guides/install/)** \- More Google Cloud guides
- **[Technical deep-dive](https://docs.edera.dev/technical-overview/)** \- How Edera works under the hood

### Need Help?

- Email [support@edera.dev](mailto:support@edera.dev) \- We’re here to help
- [Google Cloud documentation](https://cloud.google.com/compute/docs) for GCE-specific issues
