Rancher 2.5安装的k8s集群中部署Redis 6.2

基础环境搭建

基础环境的搭建请参考此文:# Rancher 2.5 部署单节点 k8s 集群,起飞的感觉

1. 宿主机搭建 NFS

NFS 是一个网络文件系统,它允许网络中的计算机之间通过 TCP/IP 网络共享资源。

(1) 通过 yum 安装

yum -y install rpcbind nfs-utils 

(2) 建立网上邻居共享目录

mkdir /mnt/share

(3) 配置这个共享目录

vim /etc/exports

写入下边的内容:

/mnt/share 192.168.138.0/24(rw,no_root_squash,async,fsid=0)

(4) 使配置内容生效

exportfs -r 

(5) 启动 rpcbind、nfs 服务及开机自启动

systemctl start rpcbind
systemctl start nfs
systemctl enable rpcbind
systemctl enable nfs

2. 新建命名空间

Rancher 2.5安装的k8s集群中部署Redis 6.2
1650871591(1).jpg

在 “default” 项目下,起一个 “middleware” 的命名空间

Rancher 2.5安装的k8s集群中部署Redis 6.2
1650871684(1).jpg

3. 设置 PV (Persistent Volumes)

注意:找不到这个菜单的,切回集群选项,不在项目选项里

Rancher 2.5安装的k8s集群中部署Redis 6.2
1650870914(1).jpg

注意几个关键的配置,模式可以选择单节点/多节点

Rancher 2.5安装的k8s集群中部署Redis 6.2
1650871090(1).jpg

4. 设置 PVC (Persistent Volumes Claim)

Rancher 2.5安装的k8s集群中部署Redis 6.2
1650871238(1).jpg

注意几个关键的配置,选择刚才设置好的 PV 绑定

Rancher 2.5安装的k8s集群中部署Redis 6.2
1654134874(1).jpg

5. 设置 Config Maps

Rancher 2.5安装的k8s集群中部署Redis 6.2
1650872057(1).jpg

这里的作用其实就是把容器的配置映射到公共的 Config Map

Rancher 2.5安装的k8s集群中部署Redis 6.2
1654135065(1).jpg

redis.conf 的内容根据真实需要配置,这里作者随便写个简单的

appendonly yes
cluster-enabled no
#cluster-config-file /var/lib/redis/nodes.conf
#cluster-node-timeout 5000
dir /var/lib/redis
port 6379

6. 设置 Redis 的 POD

Rancher 2.5安装的k8s集群中部署Redis 6.2
1650873080(1).jpg

直接导入 yml 配置,类型 Deployment,内容会贴在下边,接触过的同学都多少会看的明白

Rancher 2.5安装的k8s集群中部署Redis 6.2
1654135249(1).jpg
apiVersion: apps/v1
kind: Deployment
metadata:
  name: redis
  namespace: middleware
spec:
  #serviceName: redis
  replicas: 1
  selector:
    matchLabels:
      app: redis
      appCluster: redis-alone
  template:
    metadata:
      labels:
        app: redis
        appCluster: redis-alone
    spec:
      terminationGracePeriodSeconds: 20
      affinity:
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
          - weight: 100
            podAffinityTerm:
              labelSelector:
                matchExpressions:
                - key: app
                  operator: In
                  values:
                  - redis
              topologyKey: kubernetes.io/hostname
      containers:
      - name: redis
        image: redis:6.2
        imagePullPolicy: IfNotPresent
        command:
          - "redis-server"
        args:
          - "/etc/redis/redis.conf"
          - "--protected-mode"
          - "no"
        resources:
          requests:
            cpu: "200m"
            memory: "250Mi"
        ports:
        - containerPort: 6379
          name: redis
          protocol: TCP
        volumeMounts:
        - name: conf
          mountPath: /etc/redis
        - name: data
          mountPath: /var/lib/redis
          subPath: data
      volumes:
      - name: conf
        configMap:
          name: redis-alone-conf
          items:
          - key: redis.conf
            path: redis.conf
      - name: data
        persistentVolumeClaim:
          claimName: redis-pvc

7. 设置 Redis 的 Service

Rancher 2.5安装的k8s集群中部署Redis 6.2
1650940657(1).jpg

直接导入 yml 配置,类型 Service,内容会贴在下边,接触过的同学都多少会看的明白

Rancher 2.5安装的k8s集群中部署Redis 6.2
1654136347(1).jpg
apiVersion: v1
kind: Service
metadata:
  name: redis-alone-access
  namespace: middleware
  labels:
    app: redis
spec:
  selector:
    app: redis
    appCluster: redis-alone
  ports:
  - name: redis-access
    protocol: TCP
    port: 6379
    targetPort: 6379
  type: NodePort

8. 查看状态与试用

Rancher 2.5安装的k8s集群中部署Redis 6.2
1654137158(1).jpg

网络模式我们选择的是 NodePort,看到系统自动给我们分配了宿主机端口 31001

Rancher 2.5安装的k8s集群中部署Redis 6.2
1654137231(1).jpg

至此我们用 Redis 客户端连接下试试

Rancher 2.5安装的k8s集群中部署Redis 6.2
1654137384(1).jpg
Rancher 2.5安装的k8s集群中部署Redis 6.2
1654137324(1).jpg


原文始发于微信公众号(白菜说技术):Rancher 2.5安装的k8s集群中部署Redis 6.2

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/39917.html

(1)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!