基础环境搭建
基础环境的搭建请参考此文:# 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. 新建命名空间
在 “default” 项目下,起一个 “middleware” 的命名空间
3. 设置 PV (Persistent Volumes)
注意:找不到这个菜单的,切回集群选项,不在项目选项里
注意几个关键的配置,模式可以选择单节点/多节点
4. 设置 PVC (Persistent Volumes Claim)
注意几个关键的配置,选择刚才设置好的 PV 绑定
5. 设置 Config Maps
这里的作用其实就是把容器的配置映射到公共的 Config Map
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
直接导入 yml 配置,类型 Deployment,内容会贴在下边,接触过的同学都多少会看的明白
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
直接导入 yml 配置,类型 Service,内容会贴在下边,接触过的同学都多少会看的明白
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. 查看状态与试用
网络模式我们选择的是 NodePort,看到系统自动给我们分配了宿主机端口 31001
至此我们用 Redis 客户端连接下试试
原文始发于微信公众号(白菜说技术):Rancher 2.5安装的k8s集群中部署Redis 6.2
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/39917.html