# Agents in host network mode

By default, groundcover agents are running in K8S default network model in which every [`Pod`](https://kubernetes.io/docs/concepts/workloads/pods/) in a cluster gets its own unique cluster-wide IP address. This means you do not need to explicitly create links between `Pods` and you almost never need to deal with mapping container ports to host ports.

In cases where CNI has limited number of IP address we can set our agents to host network mode that can be used to ensure that the IP addresses of the pods do not get allocated from the cluster's IP address range. This mode allows the pod to use the host's networking stack for all communication, which means that the pod will use the same IP address as the host.

### 1. Configure a custom Helm values.yaml file

Either create a new custom-values.yaml or edit your existing groundcover values.yaml

```yaml
agent:
  hostNetwork: true
  monitoring:
    port: 9102 # edit port if overlaps with existing
```

### 2. Upgrade groundcover installation

#### For groundcover CLI-based installations

```bash
groundcover deploy -f <custom-values.yaml> 
```

#### For helm-based installations

```bash
helm upgrade <groundcover release name> groundcover/groundcover \
    -n <groundcover namespace> --reuse-values -f <custom-values.yaml>
```
