Add k3s cluster expansion documentation and scripts
- Complete expansion guide for 2/4/6 node scenarios - Quick join scripts for worker and master nodes - Health check and diagnostic scripts - Quick reference card for common operations
This commit is contained in:
@@ -6,8 +6,8 @@ metadata:
|
||||
annotations:
|
||||
cert-manager.io/cluster-issuer: letsencrypt-prod
|
||||
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
||||
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
|
||||
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
|
||||
traefik.ingress.kubernetes.io/service.serversscheme: https
|
||||
traefik.ingress.kubernetes.io/service.serverstransport: insecure@file
|
||||
spec:
|
||||
tls:
|
||||
- hosts:
|
||||
|
||||
@@ -5,6 +5,10 @@ metadata:
|
||||
name: wordpress-service
|
||||
namespace: demo-space
|
||||
spec:
|
||||
sessionAffinity: ClientIP
|
||||
sessionAffinityConfig:
|
||||
clientIP:
|
||||
timeoutSeconds: 10800 # 3 hours
|
||||
ports:
|
||||
- port: 80
|
||||
selector:
|
||||
@@ -48,6 +52,9 @@ spec:
|
||||
}
|
||||
/* Force SSL for admin */
|
||||
define('FORCE_SSL_ADMIN', true);
|
||||
/* Redis session storage for multi-replica support */
|
||||
@ini_set('session.save_handler', 'redis');
|
||||
@ini_set('session.save_path', 'tcp://redis-service:6379');
|
||||
/* Fix cookie issues */
|
||||
@ini_set('session.cookie_httponly', true);
|
||||
@ini_set('session.cookie_secure', true);
|
||||
|
||||
@@ -9,6 +9,9 @@ metadata:
|
||||
annotations:
|
||||
# ▼▼▼ 关键注解:我要申请证书 ▼▼▼
|
||||
cert-manager.io/cluster-issuer: letsencrypt-prod
|
||||
# ▼▼▼ Traefik sticky session 配置 ▼▼▼
|
||||
traefik.ingress.kubernetes.io/affinity: "true"
|
||||
traefik.ingress.kubernetes.io/session-cookie-name: "wordpress-session"
|
||||
spec:
|
||||
rules:
|
||||
- host: blog.u9.net3w.com # 您的域名
|
||||
|
||||
40
k3s/my-blog/04-redis.yaml
Normal file
40
k3s/my-blog/04-redis.yaml
Normal file
@@ -0,0 +1,40 @@
|
||||
# 04-redis.yaml - Redis for WordPress session storage
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: redis-service
|
||||
namespace: demo-space
|
||||
spec:
|
||||
ports:
|
||||
- port: 6379
|
||||
targetPort: 6379
|
||||
selector:
|
||||
app: redis
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: redis
|
||||
namespace: demo-space
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: redis
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: redis
|
||||
spec:
|
||||
containers:
|
||||
- name: redis
|
||||
image: redis:7-alpine
|
||||
ports:
|
||||
- containerPort: 6379
|
||||
resources:
|
||||
requests:
|
||||
memory: "64Mi"
|
||||
cpu: "100m"
|
||||
limits:
|
||||
memory: "128Mi"
|
||||
cpu: "200m"
|
||||
8
k3s/my-blog/Dockerfile
Normal file
8
k3s/my-blog/Dockerfile
Normal file
@@ -0,0 +1,8 @@
|
||||
# Custom WordPress image with Redis PHP extension
|
||||
FROM wordpress:latest
|
||||
|
||||
# Install Redis PHP extension
|
||||
RUN pecl install redis && docker-php-ext-enable redis
|
||||
|
||||
# Verify installation
|
||||
RUN php -m | grep redis
|
||||
Reference in New Issue
Block a user