Skip to main content

Minecraft

Quelle joie pour moi de déployer un serveur minecraft dans K8S !

En prérequits à ce tuto :

Déclaration du PVC :

cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: minecraft-srv-01-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: longhorn
  resources:
    requests:
      storage: 50Gi10Gi
EOF

Déploiement & service minecraft :

cat <<EOF | kubectl apply -f -
apiVersion: apps/v1
kind: Deployment
metadata:
  name: hello-world
  namespace: default
spec:
  replicas: 2
  selector:
    matchLabels:
      app: minecraft-01
  template:
    metadata:
      labels:
        app: minecraft-01
    spec:
      containers:
        - name: minecraft-01
          image: itzg/minecraft-server
          args:
            - "-text=Hello from Cilium VIP 👋"
            - "-listen=:8080"
          environment:
            - "EULA=TRUE"
            - "VERSION=1.12.2"
            - "TYPE=MAGMA"
            - "RESTART_POLICY=unless-stopped"
          ports:
            - containerPort: 8080
          volumeMounts:
          - name: storage-volume
            mountPath: /data
      volumes:
      - name: storage-volume
        persistentVolumeClaim:
          claimName: longhorn-hello-pvc
---
apiVersion: v1
kind: Service
metadata:
  name: hello-world
  namespace: default
  labels:
    expose: "true"
  annotations:
    lbipam.cilium.io/ips: "192.168.1.2"   # IP fixe dans le pool
spec:
  type: LoadBalancer
  selector:
    app: hello-world
  ports:
    - port: 80
      targetPort: 8080
EOF