Merge pull request #65 from beneiltis/main

fix: added basic yamls for kubernetes support.
This commit is contained in:
Thijs van Loef
2024-01-24 10:50:14 +01:00
committed by GitHub
6 changed files with 104 additions and 0 deletions

16
k8s/configmap.yaml Normal file
View File

@@ -0,0 +1,16 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: palworld-cm
data:
PUID: "1000"
PGID: "1000"
PORT: "8211" # Optional but recommended
PLAYERS: "16" # Optional but recommended
MULTITHREADING: "true"
RCON_ENABLED: "true"
RCON_PORT: "25575"
COMMUNITY: "false" # Enable this if you want your server to show up in the community servers tab, USE WITH SERVER_PASSWORD!
# Enable the environment variables below if you have COMMUNITY=true
# SERVER_PASSWORD: "yourServerPassword"
SERVER_NAME: "Server_Name" # Note, it seems spaces are not supported, so use underlines.

43
k8s/deployment.yaml Normal file
View File

@@ -0,0 +1,43 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: palworld-server
name: palworld-server
spec:
replicas: 1
selector:
matchLabels:
app: palworld-server
template:
metadata:
labels:
app: palworld-server
spec:
containers:
- name: palworld-server
image: thijsvanloef/palworld-server-docker
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8211
name: 8211-palworld
protocol: UDP
- containerPort: 27015
name: 27015-palworld
protocol: UDP
env:
- name: ADMIN_PASSWORD
valueFrom:
secretKeyRef:
name: palworld-secrets
key: rconPassword
envFrom:
- configMapRef:
name: palworld-cm
volumeMounts:
- mountPath: /palworld
name: datadir
volumes:
- name: datadir
persistentVolumeClaim:
claimName: palworld-server-datadir

12
k8s/pvc.yaml Normal file
View File

@@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
app: palworld-server
name: palworld-server-datadir
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi

7
k8s/readme.md Normal file
View File

@@ -0,0 +1,7 @@
# Setup Palworld in kubernetes
kubectl apply -f pvc.yaml
kubectl apply -f configmap.yaml
kubectl apply -f secret.yaml
kubectl apply -f service.yaml
kubectl apply -f deployment.yaml

7
k8s/secret.yaml Normal file
View File

@@ -0,0 +1,7 @@
apiVersion: v1
kind: Secret
metadata:
name: palworld-secrets
type: Opaque
stringData:
rconPassword: yourRconPassword

19
k8s/service.yaml Normal file
View File

@@ -0,0 +1,19 @@
apiVersion: v1
kind: Service
metadata:
labels:
app: palworld-server
name: palworld-server
spec:
ports:
- name: 8211-palworld
port: 8211
protocol: UDP
targetPort: 8211-palworld
- name: 27015-palworld
port: 27015
protocol: UDP
targetPort: 27015-palworld
selector:
app: palworld-server
type: LoadBalancer