参考文档:

https://blog.csdn.net/lihongbao80/article/details/103602684

https://blog.csdn.net/muguazhi/article/details/132455056

新建k8s部署redis的配置文件

内容如下:

 1apiVersion: v1
 2kind: Namespace
 3metadata:
 4  name: redis-dev
 5---
 6apiVersion: apps/v1
 7kind: Deployment
 8metadata:
 9  name: redis-deploy
10  namespace: redis-dev
11  labels:
12    name: redis
13spec:
14  replicas: 1
15  selector:
16    matchLabels:
17      app: redis
18  template:
19    metadata:
20      labels:
21        app: redis
22    spec:
23      containers:
24      - name: redis-container
25        image: redis:7.2.4
26        ports:
27        - containerPort: 6379
28        volumeMounts:
29        - name: redis-volume
30          mountPath: /data
31        - name: redis-conf
32          mountPath: /usr/local/etc/
33      volumes:
34      - name: redis-volume
35        hostPath:
36          path: /home/zhangcong/dev/redis/data
37      - name: redis-conf
38        hostPath:
39          path: /home/zhangcong/dev/redis/conf
40---
41apiVersion: v1
42kind: Service
43metadata:
44  name: redis
45  labels:
46    app: redis
47  namespace: redis-dev
48spec:
49  selector:
50    app: redis
51  type: NodePort
52  ports:
53  - name: redis-port
54    port: 6379
55    targetPort: 6379
56    protocol: TCP

上面的配置中:

redis配置文件挂载到宿主机的 /home/zhangcong/dev/redis/conf

redis的持久化目录挂载到宿主机的 /home/zhangcong/dev/redis/data

所以,需要先建立好这两个目录,并分配777权限。

还要修改 /home/zhangcong/dev/redis/conf/redis.conf 文件(这个文件在源码包中有,源码包的下载地址:http://download.redis.io/releases/),

修改内容如下:

1# bind 127.0.0.1 -::1
2daemonize no        
3appendonly yes
4dir /data
5protected-mode no

应用配置:

 1[zhangcong@master k8s]$ kubectl apply -f redis-deploy.yaml
 2
 3[zhangcong@master conf]$ kubectl get all -n redis-dev
 4NAME                                READY   STATUS    RESTARTS   AGE
 5pod/redis-deploy-846658f6f5-pd5gm   1/1     Running   0          14m
 6
 7NAME            TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
 8service/redis   NodePort   10.101.12.230   <none>        6379:32299/TCP   38m
 9
10NAME                           READY   UP-TO-DATE   AVAILABLE   AGE
11deployment.apps/redis-deploy   1/1     1            1           38m
12
13NAME                                      DESIRED   CURRENT   READY   AGE
14replicaset.apps/redis-deploy-846658f6f5   1         1         1       14m

接下来就可以通过连接工具进行连接了。