k8s一键安装redis单机版

news/2023/6/9 18:49:20

k8s一键安装redis单机版

1.前置条件

已经搭建好kubernetes1.25.4集群

Kubernetes 1.25.4版本安装_V胡桃夹子的博客-CSDN博客

kubeasz安装kubernetes1.25.5_V胡桃夹子的博客-CSDN博客

kubernetes1.25.4机器安装好了nfs服务

CentOS8搭建nfs服务_V胡桃夹子的博客-CSDN博客

本文介绍的mysql8单节点部署,自定义k8s namespacee,创建configmap来部署的

2.创建redis.yaml

复制下面脚本执行生成mysql.yaml部署文件

cat > redis.yaml<<EOF
---
# namespace
apiVersion: v1    # 版本要符合kubectl apiVersion规定,v1是稳定版本
kind: Namespace   # k8s资源类型,Namespace资源
metadata:         # 资源的元数据语句块,是针对kind对应资源的全局属性name: develop   # 声明工作空间名称labels:         # 标签name: develop # 设置namespace的label标签
---
apiVersion: v1       # 必选,版本号,例如v1
kind: ConfigMap      # 必选,资源类型,例如 ConfigMap
metadata:            # 必选,元数据namespace: develop # Pod所属的命名空间,不指定则默认为"default"name: redis-config # 必选,Pod名称labels:            # 自定义标签列表app: redis       # 自定义标签
data:# redis.conf代表着redis的配置文件名称redis.conf: |-# 修改连接为所有ipbind 0.0.0.0# 允许外网访问protected-mode no# port 6379# 客户端空闲n秒后断开连接;默认是 0 表示不断开timeout 0# RDB存储配置# save <seconds> <changes>指定多长时间刷新快照至磁盘,有两属性值,只有当两属性值均满足时才触发;可设置多种级别# 只要下面三个save条件任意满足一个,服务器就会自动执行BGSAVE命令# 表示在 900 秒内,至少更新了 1 条数据,Redis 自动触发 BGSAVE 命令,将数据保存到硬盘save 900 1# 表示在 300 秒内,至少更新了 10 条数据,Redis 自动触 BGSAVE 命令,将数据保存到硬盘。save 300 10#表示 60 秒内,至少更新了 10000 条数据,Redis 自动触发 BGSAVE 命令,将数据保存到硬盘。save 60 10000# 默认值yes,当dump数据库时使用LZF压缩字符串对象,如果CPU资源比较紧张,可以设置为no,选择不压缩;rdbcompression yes# 持久化文件名称dbfilename dump.rdb# #持久化数据存放位置dir /data# 开启aof配置appendonly yes# 调用fsync()方式让操作系统写数据到磁盘上,数据同步方式,配置everysec为每秒同步,这也是默认方式;appendfsync everysecappendfilename "appendonly.aof"# 设置密码# requirepass 123456
---
apiVersion: apps/v1                 # 版本要符合kubectl apiVersion规定,v1是稳定版本
kind: Deployment                    # 表明是Kubernetes Deployment
metadata:                           # 资源的元数据语句块,是针对kind对应资源的全局属性namespace: develop                # 指定工作空间name: redis                       # Deployment的名称,Deployment下全局唯一labels:                           # 标签app: redis                      # 标识Pod,在Service中的selector指定匹配label为app:myName
spec:                               # 必选,Pod中容器的详细定义replicas: 1                       # Pod 副本的期待数量selector:matchLabels:app: redis                    # 符合目标的Pod拥有此标签template:                         # 根据此模版创建Pod的副本metadata:labels:app: redis                  # Pod副本拥有的标签,对应Selectorspec:# nodeName: k8s-node            # 表示将该Pod调度到指定到名称的node节点上containers:                   # 必选,Pod中容器列表- name: redis                 # Pod中包含的容器# 容器对应的Docker Image,即镜像名image: docker.io/library/redis:7.0.7# 容器的启动命令列表,如不指定,使用打包时使用的启动命令command:  ["sh","-c","redis-server /usr/local/redis/redis.conf"]ports:- containerPort: 6379       # 容器应用监听的端口号resources:                  # 代表容器启动请求的资源限制,分配的资源必须要达到此要求limits:                   # 代表最多可以请求多少资源# CPU计量单位叫毫核(m)。1节点CPU核数乘以1000,得到是节点总的CPU总数。如1个节点有2个核,那该节点CPU总量为2000mcpu: 1000m              # 等同于1memory: 1024Mi          # 内存限制总和不能超过1 GiBrequests:                 # 资源需求# CPU计量单位叫毫核(m)。1节点CPU核数乘以1000,得到是节点总的CPU总数。如1个节点有2个核,那该节点CPU总量为2000mcpu: 1000m              # 等同于1memory: 1024Mi          # 内存限制总和不能超过1 GiBlivenessProbe:              # 判断容器是否正常运行,如果失败则杀掉容器(不是pod),再根据重启策略是否重启容器tcpSocket:                # 指定探针探测方式port: 6379              # 对容器内的端口或socket进行TCP检查,如果端口成功打开,证明容器正常运行initialDelaySeconds: 300  # 初始化延迟时间timeoutSeconds: 1         # 单次探测超时时间periodSeconds: 10         # 探测周期间隔时间successThreshold: 1       # 探测失败到成功的重试次数failureThreshold: 3       # 探测成功到失败的重试次数# 判断容器是否能进入ready状态,探针失败则进入noready状态,并从service的endpoints中剔除此容器readinessProbe:tcpSocket:                # 指定探针探测方式port: 6379              # 对容器内的端口或socket进行TCP检查,如果端口成功打开,证明容器正常运行initialDelaySeconds: 5    # 初始化延迟时间timeoutSeconds: 1         # 单次探测超时时间periodSeconds: 10         # 探测周期间隔时间successThreshold: 1       # 探测失败到成功的重试次数failureThreshold: 3       # 探测成功到失败的重试次数volumeMounts:# 自定义名字,名字须与volumes.name一致- name: config# 容器内地址mountPath:  /usr/local/redis/redis.confsubPath: redis.conf       # redis.conf配置文件volumes:- name: config                # 自定义名字,名字须与volumeMounts.name一致configMap:name: redis-config        # 引用的ConfigMap名称
---
apiVersion: v1         # 版本要符合kubectl apiVersion规定,v1是稳定版本
kind: Service          # 表明是Kubernetes Service
metadata:              # 资源的元数据语句块,是针对kind对应资源的全局属性name: redis          # Deployment的名称,Deployment下全局唯一namespace: develop   # 指定工作空间labels:              # 标签app: redis         # 标识Pod,在Service中的selector指定匹配label为app:myName
spec:                  # 必选,Pod中容器的详细定义type: NodePort       # 配置为NodePort,外部可以访问,不指定则默认为ClusterIP,只能集群内部访问ports:- port: 6379       # 即容器间服务调用的端口,这里的端口和clusterIP对应protocol: TCP       nodePort: 6379   # 容器所在宿机端口,默认30000-32767之间,除非有改nodepord端口范围,外网IP映射就是将端口映射出去targetPort: 6379 # 容器暴露的端口,即当前容器内应用的服务端口,例如Tomcat 8080selector:app: redis         # 这里选择器一定要选择容器的标签
EOF

3.部署

一键部署命令:

kubectl apply -f redis.yaml

一键回收命令:

kubectl delete -f redis.yaml

4. k8s相关学习

Kubernetes 1.25.4版本安装_V胡桃夹子的CSDN博客
kubeasz安装kubernetes1.25.5_V胡桃夹子的CSDN博客
CentOS8搭建nfs服务_V胡桃夹子的CSDN博客
k8s一键安装mysql8单机版_V胡桃夹子的CSDN博客
Docker制作springboot运行应用镜像_V胡桃夹子的CSDN博客
k8s部署springboot应用_V胡桃夹子的CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4565746.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

基于linux的c语言版本的俄罗斯方块

基于linux的c语言版本的俄罗斯方块 文章目录基于linux的c语言版本的俄罗斯方块前言一、前期准备二、使用步骤1.创建俄罗斯方块DATA库2.函数声明3.创建时钟定时器4.游戏区域初始化5. 画一个方块6.刷新游戏区域7.清除一个方块8.检测方块是否可以移动9.检查游戏是否结束10.检查是否…

7-1 数字三角形 (30 分)

给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法&#xff0c;计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下)&#xff0c;使该路径经过的数字总和最大。 输入格式: 输入有n1行&#xff1a; 第 1 行是数字三角形的行数 n&#xff0c;1&…

(C语言)数字三角形(蛇形)

#include<stdio.h> int main(void) {int num0; //三角形中的每个值由它来确定 int N; //列数 int n; //行数 int j1,j2; //j1表示行&#xff0c;j2表示列 int w;int e;int q0;int a[25][49];for(int i0;i<25;i) //先把数组内每一个值都变…

【C语言】数字直角三角形,数字矩阵,蛇形数组

寒假也要好好学习啊&#xff0c;今天和TT一起来看看数字之间三角形和蛇形数组的写法吧。 先看看这个简单的&#xff0c;这是一个给定边长的等腰直角数字三角形。像这种还是比较简单的。 分析&#xff1a;两种方法&#xff1b;一种是用数组&#xff0c;还有一种是直接使用循环。…

【蓝桥杯】【python】数字三角形

问题描述 虽然我前后用了三种做法&#xff0c;但是我发现只有“优化思路_1”可以通过蓝桥杯官网中的测评&#xff0c;但是如果用c/c的话&#xff0c;每个都通得过&#xff0c;足以可见python的效率之低&#xff08;但耐不住人家好用啊&#xff08;哭笑&#xff09;&#xff09…

信息学奥赛C++语言: 数字三角形1

【题目描述】 读入一个正整数n&#xff0c;输出一个n行的数字三角形&#xff08;见输出样例&#xff09;。 【输入】 一行一个正整数n&#xff0c;2 ≤ n ≤ 10。 【输出】 共n行&#xff0c;第 i 行包含 i 个正整数&#xff0c;每个整数占5列。 【输入样例】 4 【输出样例…

Java实现 LeetCode 812 最大三角形面积 (暴力)

812. 最大三角形面积 给定包含多个点的集合&#xff0c;从其中取三个点组成三角形&#xff0c;返回能组成的最大三角形的面积。 示例: 输入: points [[0,0],[0,1],[1,0],[0,2],[2,0]] 输出: 2 解释: 这五个点如下图所示。组成的橙色三角形是最大的&#xff0c;面积为2。 注意…

C++ 数字三角形(动态规划)

一、题目 有三种方法实现&#xff1a; 这里就求权值之和最大的&#xff0c;最小的类似就不分析了。 1.自底向上 缺点&#xff1a;算法复杂&#xff0c;重复计算 2.自顶向下 缺点&#xff1a;重复计算&#xff0c;浪费时间 3.动态规划 思路和自底向上、自顶向下一样&#xff0…