docs: Add Incus container network configuration guide
- Document static IPv4 address assignment procedure - Add troubleshooting table for common network issues - List standard IP assignments for all containers - Include step-by-step guide for creating new containers with static IPs - Add models container IP reservation (10.157.134.251)
This commit is contained in:
parent
53f63866d2
commit
8fbcec2b1e
1 changed files with 96 additions and 0 deletions
96
PROD.md
96
PROD.md
|
|
@ -267,6 +267,102 @@ $ ssh user@<hostname> "sudo incus exec system -- curl -s --cacert /opt/gbo/conf/
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Incus Container Network Configuration
|
||||||
|
|
||||||
|
### Static IPv4 Address Assignment
|
||||||
|
|
||||||
|
When creating new containers, they may not receive IPv4 addresses automatically. To assign permanent static IPs:
|
||||||
|
|
||||||
|
**Step 1: Set static IP on the container device**
|
||||||
|
```bash
|
||||||
|
# Choose an unused IP in the 10.157.134.x range
|
||||||
|
sudo incus config device set <container> eth0 ipv4.address 10.157.134.<last_octet>
|
||||||
|
```
|
||||||
|
|
||||||
|
**Step 2: Configure network inside the container**
|
||||||
|
```bash
|
||||||
|
sudo incus exec <container> -- bash -c 'cat > /etc/network/interfaces << EOF
|
||||||
|
auto lo
|
||||||
|
iface lo inet loopback
|
||||||
|
|
||||||
|
auto eth0
|
||||||
|
iface eth0 inet static
|
||||||
|
address 10.157.134.<last_octet>
|
||||||
|
netmask 255.255.255.0
|
||||||
|
gateway 10.157.134.1
|
||||||
|
dns-nameservers 8.8.8.8 8.8.4.4
|
||||||
|
EOF'
|
||||||
|
```
|
||||||
|
|
||||||
|
**Step 3: Restart the container**
|
||||||
|
```bash
|
||||||
|
sudo incus restart <container>
|
||||||
|
```
|
||||||
|
|
||||||
|
**Step 4: Verify IPv4 assignment**
|
||||||
|
```bash
|
||||||
|
sudo incus list <container> -c n4
|
||||||
|
sudo incus exec <container> -- ip addr show eth0
|
||||||
|
```
|
||||||
|
|
||||||
|
### Common Network Issues
|
||||||
|
|
||||||
|
| Problem | Symptom | Fix |
|
||||||
|
|---------|---------|-----|
|
||||||
|
| No IPv4 | Container shows empty IPV4 column | Set static IP via `incus config device set` |
|
||||||
|
| IP conflict | "IP address already defined on another NIC" | Choose different IP, check `incus list` |
|
||||||
|
| Can't reach internet | DNS fails inside container | Configure DNS in `/etc/network/interfaces` |
|
||||||
|
| IPv6 only | Has IPv6 but no IPv4 | Add static IPv4 config as above |
|
||||||
|
| DHCP not working | dhclient fails or returns 169.254.x.x | Use static IP assignment instead |
|
||||||
|
|
||||||
|
### Container IP Reference
|
||||||
|
|
||||||
|
Standard IP assignments (10.157.134.x range):
|
||||||
|
- `system`: 10.157.134.196
|
||||||
|
- `tables`: 10.157.134.174
|
||||||
|
- `vault`: 10.157.134.250
|
||||||
|
- `cache`: 10.157.134.230
|
||||||
|
- `drive`: 10.157.134.206
|
||||||
|
- `directory`: 10.157.134.240
|
||||||
|
- `llm`: 10.157.134.205
|
||||||
|
- `vectordb`: 10.157.134.210
|
||||||
|
- `models`: 10.157.134.251 (reserved)
|
||||||
|
- `dns`: 10.157.134.214
|
||||||
|
- `proxy`: 10.157.134.241
|
||||||
|
- `email`: 10.157.134.40
|
||||||
|
- `meet`: 10.157.134.220
|
||||||
|
|
||||||
|
### Creating a New Container with Static IP
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Create container
|
||||||
|
sudo incus launch images:debian/12 <new-container>
|
||||||
|
|
||||||
|
# Set static IP (before first boot is best)
|
||||||
|
sudo incus config device set <new-container> eth0 ipv4.address 10.157.134.<unused>
|
||||||
|
|
||||||
|
# Configure networking inside container
|
||||||
|
sudo incus exec <new-container> -- bash -c 'cat > /etc/network/interfaces << EOF
|
||||||
|
auto lo
|
||||||
|
iface lo inet loopback
|
||||||
|
|
||||||
|
auto eth0
|
||||||
|
iface eth0 inet static
|
||||||
|
address 10.157.134.<unused>
|
||||||
|
netmask 255.255.255.0
|
||||||
|
gateway 10.157.134.1
|
||||||
|
dns-nameservers 8.8.8.8
|
||||||
|
EOF'
|
||||||
|
|
||||||
|
# Restart to apply
|
||||||
|
sudo incus restart <new-container>
|
||||||
|
|
||||||
|
# Verify
|
||||||
|
sudo incus list <new-container>
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Troubleshooting Quick Reference
|
## Troubleshooting Quick Reference
|
||||||
|
|
||||||
**GLIBC mismatch (`GLIBC_2.39 not found`):** The binary was compiled on the CI runner (glibc 2.41) not inside the system container (glibc 2.36). The CI workflow must SSH into the system container to build. Check `botserver.yaml` to confirm this.
|
**GLIBC mismatch (`GLIBC_2.39 not found`):** The binary was compiled on the CI runner (glibc 2.41) not inside the system container (glibc 2.36). The CI workflow must SSH into the system container to build. Check `botserver.yaml` to confirm this.
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue