第2节:启动基础服务
redis节点yaml
Deployment
apiVersion: v1
kind: Deployment
metadata:
name: longmao-redis
namespace: longmao-k8s
labels:
app: longmao-redis
spec:
containers:
- name: longmao-redis
image: redis:lm
ports:
- containerPort: 6379
volumeMounts:
- name: volume-redis-data
mountPath: /data
subPath: redis/data
resources:
limits:
memory: 2048Mi
cpu: "0.25"
command:
- sh
- -c
- "cp -u /data-backup/* /data/ && exec /usr/local/bin/redis-server /etc/redis/redis.conf --appendonly yes --requirepass 'test'"
volumes:
- name: volume-redis-data
persistentVolumeClaim:
claimName: shannon-huge-longmao-pvc
Service
apiVersion: v1
kind: Service
metadata:
labels:
app: longmao-redis
name: longmao-redis
namespace: longmao-k8s
spec:
type: LoadBalancer
ports:
- nodePort: 6379
port: 6379
protocol: TCP
targetPort: 6379
selector:
app: longmao-redis
mysql节点yaml
Deployment
apiVersion: v1
kind: Deployment
metadata:
name: longmao-mysql
namespace: longmao-k8s
labels:
app: longmao-mysql
spec:
containers:
- name: longmao-mysql
image: mysql:lm
ports:
- containerPort: 3306
volumeMounts:
- mountPath: /etc/mysql/conf.d
name: volume-mysql-data
subPath: mysql/conf
- mountPath: /var/lib/mysql
name: volume-mysql-data
subPath: mysql/data
- name: config
mountPath: /etc/mysql/conf.d/my.cnf
subPath: my.cnf
resources:
limits:
memory: 2048Mi
cpu: "0.5"
env:
- name: MYSQL_ROOT_PASSWORD
value: "123456"
volumes:
- name: volume-mysql-data
persistentVolumeClaim:
claimName: shannon-huge-longmao-pvc
- name: config
configMap:
name: mysql-db-config
---
apiVersion: v1
kind: ConfigMap
metadata:
name: mysql-db-config
namespace: longmao-k8s
labels:
app: mysql-db
data:
my.cnf: |-
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
skip-character-set-client-handshake = true
max_connections=2000
secure_file_priv=/var/lib/mysql
bind-address=0.0.0.0
symbolic-links=0
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
Service
apiVersion: v1
kind: Service
metadata:
labels:
app: longmao-mysql
name: longmao-mysql
namespace: longmao-k8s
spec:
type: LoadBalancer
ports:
- nodePort: 3306
port: 3306
protocol: TCP
targetPort: 3306
selector:
app: longmao-mysql
fastdfs节点yaml
Deployment
apiVersion: v1
kind: Deployment
metadata:
name: longmao-fastdfs
namespace: longmao-k8s
labels:
app: longmao-fastdfs
spec:
containers:
- name: longmao-fastdfs
image: fastdfs:lm
ports:
- containerPort: 22122
- containerPort: 23000
- containerPort: 8080
- containerPort: 8888
- containerPort: 80
protocol: TCP
volumeMounts:
- name: volume-fastdfs-data
mountPath: /var/local
subPath: fastdfs/data
resources:
limits:
cpu: "0.5"
memory: 2048Mi
volumes:
- name: volume-fastdfs-data
persistentVolumeClaim:
claimName: shannon-huge-longmao-pvc
Service
apiVersion: v1
kind: Service
metadata:
labels:
app: longmao-fastdfs
name: longmao-fastdfs
namespace: longmao-k8s
spec:
type: NodePort
ports:
- name: 'transfortracker'
nodePort: 22122
port: 22122
targetPort: 22122
- name: 'transforstorage'
nodePort: 23000
port: 23000
targetPort: 23000
- name: 'transforhttp'
nodePort: 8888
port: 80
targetPort: 80
- name: 'transforhttpserver'
port: 8080
targetPort: 8080
- name: 'transfordefault'
port: 8888
targetPort: 8888
selector:
app: longmao-fastdfs
mongo节点yaml
Deployment
apiVersion: v1
kind: Deployment
metadata:
name: longmao-mongo
namespace: longmao-k8s
labels:
app: longmao-mongo
spec:
containers:
- name: longmao-mongo
image: mongo:lm
ports:
- containerPort: 27017
volumeMounts:
- name: volume-mongo-db
mountPath: /data/db
subPath: mongo/data
resources:
limits:
memory: 1024Mi
cpu: "0.2"
env:
- name: MONGO_INITDB_ROOT_USERNAME
value: lm
- name: MONGO_INITDB_ROOT_PASSWORD
value: 'lm'
volumes:
- name: volume-mongo-db
persistentVolumeClaim:
claimName: shannon-huge-longmao-pvc
Service
apiVersion: v1
kind: Service
metadata:
labels:
app: longmao-mongo
name: longmao-mongo
namespace: longmao-k8s
spec:
type: LoadBalancer
ports:
- nodePort: 27017
port: 27017
protocol: TCP
targetPort: 27017
selector:
app: longmao-mongo
rmqnamesrv节点
Deployment
apiVersion: v1
kind: Deployment
metadata:
name: longmao-rmqnamesrv
namespace: longmao-k8s
labels:
app: longmao-rmqnamesrv
spec:
containers:
- name: longmao-rmqnamesrv
image: rocketmq:lm
command:
- sh
- mqnamesrv
ports:
- containerPort: 9876
volumeMounts:
- name: volume-rmqnamesrv-pvc
mountPath: /root/store
subPath: rmqnamesrv/store
- name: volume-rmqnamesrv-pvc
mountPath: /root/logs
subPath: rmqnamesrv/logs
resources:
limits:
memory: 4096Mi
cpu: "0.5"
env:
- name: MAX_POSSIBLE_HEAP
value: "100000000"
volumes:
- name: volume-rmqnamesrv-pvc
persistentVolumeClaim:
claimName: shannon-huge-longmao-pvc
Service
apiVersion: v1
kind: Service
metadata:
labels:
app: longmao-rmqnamesrv
name: longmao-rmqnamesrv
namespace: longmao-k8s
spec:
type: LoadBalancer
ports:
- nodePort: 9876
port: 9876
protocol: TCP
targetPort: 9876
selector:
app: longmao-rmqnamesrv
rmqbroker节点yaml
Deployment
apiVersion: v1
kind: Deployment
metadata:
name: longmao-rmqbroker
namespace: longmao-k8s
labels:
app: longmao-rmqbroker
spec:
containers:
- name: longmao-rmqbroker
image: rocketmq:lm
command:
- sh
- mqbroker
- '-c'
- /opt/rocketmq-4.4.0/conf/broker.conf
- autoCreateTopicEnable=true
ports:
- containerPort: 10911
- containerPort: 10909
volumeMounts:
- name: volume-rmqbroker-broker
mountPath: /root/logs
subPath: rmqbroker/logs
resources:
limits:
memory: 4096Mi
cpu: "0.5"
env:
- name: NAMESRV_ADDR
value: longmao-rmqnamesrv:9876
- name: MAX_POSSIBLE_HEAP
value: "200000000"
volumes:
- name: volume-rmqbroker-broker
persistentVolumeClaim:
claimName: shannon-huge-longmao-pvc
Service
apiVersion: v1
kind: Service
metadata:
labels:
app: longmao-rmqbroker
name: longmao-rmqbroker
namespace: longmao-k8s
spec:
type: LoadBalancer
ports:
- nodePort: 10911
port: 10911
protocol: TCP
targetPort: 10911
name: tcp1
- nodePort: 10909
port: 10909
protocol: TCP
targetPort: 10909
name: tcp2
selector:
app: longmao-rmqbroker