docker-compose.yml1.3 KB
View on GitHub# to run define K3S_TOKEN, K3S_VERSION is optional, eg:
# K3S_TOKEN=${RANDOM}${RANDOM}${RANDOM} docker-compose up
x-environment: &default-env
K3S_TOKEN: ${K3S_TOKEN:-test}
services:
server:
image: "rancher/k3s:${K3S_VERSION:-latest}"
command:
- 'server'
tmpfs:
- /run
- /var/run
ulimits:
nproc: 65535
nofile:
soft: 65535
hard: 65535
privileged: true
restart: always
environment:
<<: *default-env
K3S_KUBECONFIG_OUTPUT: /output/kubeconfig.yaml
K3S_KUBECONFIG_MODE: 666
volumes:
- k3s-server:/var/lib/rancher/k3s
# Output is where the `kubeconfig.yaml` file will be written
- .:/output
ports:
- 6443:6443 # Kubernetes API Server
- 80:80 # Ingress controller port 80, localhost:8000
- 443:443 # Ingress controller port 443, localhost:8443
networks:
- k3s
agent:
image: "rancher/k3s:${K3S_VERSION:-latest}"
tmpfs:
- /run
- /var/run
ulimits:
nproc: 65535
nofile:
soft: 65535
hard: 65535
privileged: true
restart: always
environment:
<<: *default-env
K3S_URL: https://server:6443
volumes:
- k3s-agent:/var/lib/rancher/k3s
networks:
- k3s
volumes:
k3s-server: {}
k3s-agent: {}
networks:
k3s:
driver: bridge