diff --git a/sclat/sclat.yaml b/sclat/sclat.yaml new file mode 100644 index 0000000..eaef1aa --- /dev/null +++ b/sclat/sclat.yaml @@ -0,0 +1,142 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: server-sclat +spec: + selector: + matchLabels: + app: server-sclat + strategy: + type: Recreate + revisionHistoryLimit: 2 + template: + metadata: + labels: + app: server-sclat + stage: production + kuvel.azisaba.net/enable-server-discovery: "true" + kuvel.azisaba.net/preferred-server-name: sclat + spec: + # サーバーを動かしたい物理サーバーを指定する + nodeName: saba8 + containers: + - name: server-sclat + # Dockerイメージの指定 + # Javaバージョン早見表 + # 1.14.4以下 ... 8 + # 1.15.x ... 8-11 (9-10はサポート終了) + # 1.16.x ... 11-16 (12-16はサポート終了) + # 1.17.x ... 16-17 (16はサポート終了) + # 1.18.x~1.20.4 ... 17 (一部は21まで可能) + # 1.20.5以降 ... 21 + image: itzg/minecraft-server:java11 + workingDir: /data + imagePullPolicy: Always + resources: + requests: + memory: "4Gi" + limits: + cpu: "10000m" + memory: "16Gi" # limitを超えるとpodが即座にOOMKilledされてしまうため(MAX_)MEMORY + 8Gぐらいにして余裕を持たせる + ports: + - containerPort: 25565 + env: + # タイムゾーン + - name: TZ + value: "Asia/Tokyo" + # EULAに同意する + - name: EULA + value: "true" + # サーバーの種類 + - name: TYPE + value: PAPER + # 最適化されたJVMフラグを使用する + - name: USE_AIKAR_FLAGS + value: "true" + # UID + - name: UID + value: "0" + # GID + - name: GID + value: "1021" + # Minecraftバージョン + - name: VERSION + value: 1.14.4 + # 初期・最大メモリ + - name: MEMORY + value: 4G + # yml内のCFG_なんとかを置き換えるためのもの + - name: ENV_VARIABLE_PREFIX + value: "CFG_" + # メタデータ(サーバー内で環境変数で取得可能) + - name: CFG_POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: CFG_POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: CFG_SERVER_NAME + valueFrom: + fieldRef: + fieldPath: metadata.labels['kuvel.azisaba.net/preferred-server-name'] + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: SERVER_NAME + valueFrom: + fieldRef: + fieldPath: metadata.labels['kuvel.azisaba.net/preferred-server-name'] + startupProbe: + tcpSocket: + port: 25565 + failureThreshold: 60 # 600秒 + periodSeconds: 10 + volumeMounts: + - name: server-data + mountPath: /data + - name: tab-config + mountPath: /plugins/TAB/config.yml + subPath: config.yml + volumes: + - name: server-data + hostPath: + path: /thing/srv/sclat/sclat + type: Directory + - name: tab-config + configMap: + name: common-life-server-tab-config + priorityClassName: minecraft-other-server + terminationGracePeriodSeconds: 60 # 1分 +--- +apiVersion: v1 +kind: Service +metadata: + name: server-sclat-svc +spec: + type: ClusterIP + selector: + app: server-sclat + stage: production + ports: + - port: 25565 + targetPort: 25565 +--- +apiVersion: v1 +kind: Service +metadata: + name: azisaba-sclat +spec: + type: ClusterIP + selector: + app: server-sclat + stage: production + ports: + - port: 28000 + targetPort: 28000 diff --git a/sclat/sclatsv1.yaml b/sclat/sclatsv1.yaml new file mode 100644 index 0000000..0263808 --- /dev/null +++ b/sclat/sclatsv1.yaml @@ -0,0 +1,142 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: server-sclatsv1 +spec: + selector: + matchLabels: + app: server-sclatsv1 + strategy: + type: Recreate + revisionHistoryLimit: 2 + template: + metadata: + labels: + app: server-sclatsv1 + stage: production + kuvel.azisaba.net/enable-server-discovery: "true" + kuvel.azisaba.net/preferred-server-name: sclatsv1 + spec: + # サーバーを動かしたい物理サーバーを指定する + nodeName: saba8 + containers: + - name: server-sclatsv1 + # Dockerイメージの指定 + # Javaバージョン早見表 + # 1.14.4以下 ... 8 + # 1.15.x ... 8-11 (9-10はサポート終了) + # 1.16.x ... 11-16 (12-16はサポート終了) + # 1.17.x ... 16-17 (16はサポート終了) + # 1.18.x~1.20.4 ... 17 (一部は21まで可能) + # 1.20.5以降 ... 21 + image: itzg/minecraft-server:java11 + workingDir: /data + imagePullPolicy: Always + resources: + requests: + memory: "4Gi" + limits: + cpu: "10000m" + memory: "16Gi" # limitを超えるとpodが即座にOOMKilledされてしまうため(MAX_)MEMORY + 8Gぐらいにして余裕を持たせる + ports: + - containerPort: 25565 + env: + # タイムゾーン + - name: TZ + value: "Asia/Tokyo" + # EULAに同意する + - name: EULA + value: "true" + # サーバーの種類 + - name: TYPE + value: PAPER + # 最適化されたJVMフラグを使用する + - name: USE_AIKAR_FLAGS + value: "true" + # UID + - name: UID + value: "0" + # GID + - name: GID + value: "1021" + # Minecraftバージョン + - name: VERSION + value: 1.14.4 + # 初期・最大メモリ + - name: MEMORY + value: 8G + # yml内のCFG_なんとかを置き換えるためのもの + - name: ENV_VARIABLE_PREFIX + value: "CFG_" + # メタデータ(サーバー内で環境変数で取得可能) + - name: CFG_POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: CFG_POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: CFG_SERVER_NAME + valueFrom: + fieldRef: + fieldPath: metadata.labels['kuvel.azisaba.net/preferred-server-name'] + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: SERVER_NAME + valueFrom: + fieldRef: + fieldPath: metadata.labels['kuvel.azisaba.net/preferred-server-name'] + startupProbe: + tcpSocket: + port: 25565 + failureThreshold: 60 # 600秒 + periodSeconds: 10 + volumeMounts: + - name: server-data + mountPath: /data + - name: tab-config + mountPath: /plugins/TAB/config.yml + subPath: config.yml + volumes: + - name: server-data + hostPath: + path: /srv/sclatsv1 + type: Directory + - name: tab-config + configMap: + name: common-life-server-tab-config + priorityClassName: minecraft-other-server + terminationGracePeriodSeconds: 60 # 1分 +--- +apiVersion: v1 +kind: Service +metadata: + name: server-sclatsv1-svc +spec: + type: ClusterIP + selector: + app: server-sclatsv1 + stage: production + ports: + - port: 25565 + targetPort: 25565 +--- +apiVersion: v1 +kind: Service +metadata: + name: azisaba-sclatsv1 +spec: + type: ClusterIP + selector: + app: server-sclat + stage: production + ports: + - port: 28000 + targetPort: 28000 diff --git a/sclat/sclattest.yaml b/sclat/sclattest.yaml new file mode 100644 index 0000000..7d2e249 --- /dev/null +++ b/sclat/sclattest.yaml @@ -0,0 +1,142 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: server-sclattest +spec: + selector: + matchLabels: + app: server-sclattest + strategy: + type: Recreate + revisionHistoryLimit: 2 + template: + metadata: + labels: + app: server-sclattest + stage: production + kuvel.azisaba.net/enable-server-discovery: "true" + kuvel.azisaba.net/preferred-server-name: sclattest + spec: + # サーバーを動かしたい物理サーバーを指定する + nodeName: saba8 + containers: + - name: server-sclattest + # Dockerイメージの指定 + # Javaバージョン早見表 + # 1.14.4以下 ... 8 + # 1.15.x ... 8-11 (9-10はサポート終了) + # 1.16.x ... 11-16 (12-16はサポート終了) + # 1.17.x ... 16-17 (16はサポート終了) + # 1.18.x~1.20.4 ... 17 (一部は21まで可能) + # 1.20.5以降 ... 21 + image: itzg/minecraft-server:java11 + workingDir: /data + imagePullPolicy: Always + resources: + requests: + memory: "4Gi" + limits: + cpu: "10000m" + memory: "16Gi" # limitを超えるとpodが即座にOOMKilledされてしまうため(MAX_)MEMORY + 8Gぐらいにして余裕を持たせる + ports: + - containerPort: 25565 + env: + # タイムゾーン + - name: TZ + value: "Asia/Tokyo" + # EULAに同意する + - name: EULA + value: "true" + # サーバーの種類 + - name: TYPE + value: PAPER + # 最適化されたJVMフラグを使用する + - name: USE_AIKAR_FLAGS + value: "true" + # UID + - name: UID + value: "0" + # GID + - name: GID + value: "1021" + # Minecraftバージョン + - name: VERSION + value: 1.14.4 + # 初期・最大メモリ + - name: MEMORY + value: 8G + # yml内のCFG_なんとかを置き換えるためのもの + - name: ENV_VARIABLE_PREFIX + value: "CFG_" + # メタデータ(サーバー内で環境変数で取得可能) + - name: CFG_POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: CFG_POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: CFG_SERVER_NAME + valueFrom: + fieldRef: + fieldPath: metadata.labels['kuvel.azisaba.net/preferred-server-name'] + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: SERVER_NAME + valueFrom: + fieldRef: + fieldPath: metadata.labels['kuvel.azisaba.net/preferred-server-name'] + startupProbe: + tcpSocket: + port: 25565 + failureThreshold: 60 # 600秒 + periodSeconds: 10 + volumeMounts: + - name: server-data + mountPath: /data + - name: tab-config + mountPath: /plugins/TAB/config.yml + subPath: config.yml + volumes: + - name: server-data + hostPath: + path: /thing/srv/sclat/sclattest + type: Directory + - name: tab-config + configMap: + name: common-life-server-tab-config + priorityClassName: minecraft-other-server + terminationGracePeriodSeconds: 60 # 1分 +--- +apiVersion: v1 +kind: Service +metadata: + name: server-sclattest-svc +spec: + type: ClusterIP + selector: + app: server-sclattest + stage: production + ports: + - port: 25565 + targetPort: 25565 +--- +apiVersion: v1 +kind: Service +metadata: + name: azisaba-sclattest +spec: + type: ClusterIP + selector: + app: server-sclat + stage: production + ports: + - port: 28000 + targetPort: 28000