自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (1)
  • 收藏
  • 关注

原创 kubernetes1.27.3版本单主机部署详细教程

本次kubernetes单主机部署是基于AnolisOS-7.9操作系统进行部署的,当然也适用于Centos7的操作系统,根据个人情况,选择适合自己的版本!本次部署的kubernetes版本是1.27.3版本,系统架构是etcd,API Server,Controller Manager,Scheduler,Kubelet,Kube-proxy,Containerd,Docker。

2024-05-13 16:19:41 684 1

原创 K8S中删除Terminating状态的命名空间

由上面可以看出,咱们删除ingress-nginx服务没删除成功,ingress-nginx命名空间的状态是Terminating 的状态导致删除命令卡主。3.Terminating 状态的命名空间一般使用强制删除的命名是不可以的,咱们使用以下方式删除Terminating状态的命名空间。获取namespace的配置文件,格式为json。2.使用强制删除的命名试验能否删除成功。修改tmp.yaml中的配置。开启apiserver的代理。调用api开始删除,命名如下。以上可以看出删除成功。

2024-05-06 16:17:17 301 2

原创 iptables学习

一:业务地址请求服务时,首先经过iptables服务,iptables通过校验规则,通过校验是否同意业务访问,规则从上到下,匹配规则都失败了的话,走默认规则。iptables -nL 查看filter表的规则。INPUT (防火墙规则,控制请求能否访问服务)iptables -t nat -nL 查看nat表的规则。PREROUTING (请求到达这个服务之前)iptables的4表5链的处理流程。(1)Accept 允许通过访问。二:iptables的4表5链。

2024-02-29 20:30:08 440

原创 Nginx正向代理,反向代理,负载均衡配置

【代码】Nginx正向代理,反向代理,负载均衡配置。

2024-02-21 20:26:14 430

原创 K8S部署MySQL主从环境

8.建mysql-slave的headliness和service用来对外访问(slave节点可以不创建service)9.创建mysql-slave部署文件(mysql-serverid不能一样一定要区分开)4.创建mysql-master-service对外访问。3.创建mysql-master的headliness。5.创建mysql-master部署文件。7.创建mysql-slave的pvc。1.创建mysql主从环境的命名空间。2.创建master的pvc。10.检查服务的启动情况。

2024-02-19 21:15:17 795 2

原创 主机安全加固之-openssh版本升级

升级openssh之前,为了保证能正常通过工具连接主机,咱们开启telnet服务,通过telnet的方式登录主机。telnet验证不通过,需要修改/etc/pam.d/remote和/etc/pam.d/login注释掉第一行。修改完上面两处,重启完xinetd服务,登录验证通过。2.修改telnet服务配置文件,重启服务。3.通过telnet的方式登录主机验证一下。二:升级openssl服务。三:升级openssh服务。一:开启telnet服务。1.安装telnet服务。

2024-01-31 18:54:12 607 1

原创 这是一个ingress负载tomcat服务的配置

【代码】这是一个ingress负载tomcat服务的配置。

2024-01-30 10:45:26 363

原创 MySQL数据库备份的相关命令-运维面试常问

密码]:对应用户的密码,注意不要直接在命令行中写明密码,而是应该在密码后面加上一个空格,然后输入密码时直接敲击回车,系统会提示你输入密码,这样可以防止在命令历史记录中暴露密码。在这个例子中,当执行命令后,会提示你输入root用户的密码,然后mysqldump将只导出my_database数据库中的my_table这个表的内容,并保存到 /path/to/my_table_backup.sql 文件中。mysqldump -u [用户名] -p[密码] [数据库名] > [备份文件路径]

2024-01-27 17:07:46 504

原创 MySQL主从同步数据库环境部署

在主数据库上创建并授权复制账号: 在主库(Master)上,你需要创建一个专门用于从库(Slave)连接和进行复制的账号,并赋予其相应的权限。4.下载mysql的安装包,如果是内网环境的话,上传mysql的安装包即可。3.查看mysql的用户组是否存在,如果不存在,则创建。2.检查mysql是否存在,如果存在,卸载重装。配置主从同步账号(在master库执行即可)本次部署的是MySQL主从环境的数据库信息。1.开启主库的binlog日志。更改root用户的密码。设置数据库的主从同步。

2024-01-27 13:29:14 974

原创 CKA考试练习题

的 node 设置为不可用, 并重新调度该 node 上所有运行的 pods。创建一个新的 pod, 此 pod 将作为 volume 挂载到。并将其绑定到范围为特定 namespace 的特定。配置新的 pod, 以对 volume 具有。,DaemonSet)资源类型的新。,将新的 ClusterRole。,DaemonSet)资源类型的新。,将新的 ClusterRole。3.在现有的 namespace。在现有的 namespace。三:备份ETCD的快照,并恢复。一:为部署管道创建一个新的。

2024-01-25 20:44:53 617

原创 kubernetes版本升级

3、下载新版本k8s,备份原来的程序文件,复制并覆盖新组件服务至新k8s目录,更新软链接。2、若master1有pod,先将master1设置维护状态,驱逐所有pod。2、若master1有pod,先将master1设置维护状态,驱逐所有pod。3、下载新版本k8s,复制原k8s目录改名为新目录。4、复制并覆盖新组件服务至新k8s目录,更新软链接。6、取消维护状态,启用nginx配置。6、取消维护状态,启用nginx配置。5、重启相关服务,检查版本是否正常。5、重启相关服务,检查版本是否正常。

2024-01-18 18:32:39 419

原创 基于kubernetes部署MySQL主从环境

通过ConfiigMap配置MySQL的配置文件my.cnf。主从POD都创建完成了,咱们登录验证一下,并配置一下主从同步。通过部署mysql主从容器,配置主从pod之间数据同步。配置主节点pod启动的StatefulSet配置文件。在主节点创建一个数据库验证一下主从同步情况。先配置MySQL-Master服务。配置mysql-salve。在从节点执行,配置主从关系。配置Service服务。配置ConfigMap。创建MySQL的Pod。配置数据库访问的密码。查看slave的状态。

2024-01-17 19:35:40 899

原创 kubernetes 权限控制

咱们通过Role可以配置命名空间下资源的访问权限,例如,pod,service,deployment等资源是否可以修改,删除等权限;Role只能对命名空间内的资源进行授权,需要指定nameapce。我当前app整个命名空间下有一些pod,我们以app这个命名空间,创建一个xiaom的用户,这个用户只能app这个命名空间下的Pod,Deployment的资源,其他的资源没权限更改。ClusterRole是整个kubernetes下的资源的访问权限的控制,跨namespaces的范围资源、非资源类型进行授权。

2024-01-15 16:14:25 548

原创 通过Helm创建一个tomcat服务

一:先通过helm命令生成一个服务部署的模板,会生成默认的配置文件。二:编辑Helm部署应用的配置文件(values.yaml)通过Helm创建一个tomcat。

2024-01-02 15:36:31 421

原创 查看证书有效期的命令

后面的证书是我们当时创建证书的路径。

2024-01-02 12:47:56 596

原创 通过storageclass应用创建Pod

【代码】通过storageclass应用创建Pod。

2023-12-19 22:56:38 345

原创 K8S的一个pod中运行多个容器

ngixn和tomcat都能正常访问。通过deployment的方式部署。创建一个deployment文件。Service的配置。

2023-12-17 22:47:22 812

原创 持久化存储 StorageClass

上面文章我们创建的pv和pvc都是静态的,简单的来说静态的pv和pvc需要我们手动的创建,这种情况很大程度上并不能满足我们的需求,比如我们有一个应用需要对存储的并发度要求比较高,而另外一个应用对读写速度又要求比较高,特别是对于StatefulSet类型的应用。StorageClass作为对存储资源的抽象定义,对用户设置的PVC申请屏蔽后端的细节,一方面减轻用户对于存储资源细节的关注,另一方面也减轻了管理员手工管理PV的工作,由系统自动完成PV的创建和绑定,实现了动态的资源供应。

2023-12-17 17:19:52 1121

原创 配置POD的CPU和内存的限制

要为容器指定 CPU 请求,请在容器资源清单中包含 resources: requests 字段。要指定 CPU 限制,请包含 resources:limits。要为容器指定内存请求,请在容器资源清单中包含 resources: requests 字段。同理,要指定内存限制,请包含 resources: limits。

2023-12-13 18:56:02 405

原创 Service学习与使用

在之前的实例中,创建的Service的IP地址只有集群内部才可以访问,如果希望将Service暴露给集群外部使用,那么就要使用到另外一种类型的Service,称为NodePort类型。LoadBalancer和NodePort很相似,目的都是向外部暴露一个端口,区别在于LoadBalancer会在集群的外部再来做一个负载均衡设备,而这个设备需要外部环境支持的,外部服务发送到这个设备上的请求,会被设备负载之后转发到集群中。上面咱们配置的svc访问后面的tomcat服务是轮询的分别访问的两个pod;

2023-12-13 18:24:27 423

原创 存活、就绪和启动探针简单学习了解

如果探测成功,这个 Pod 会被标记为就绪状态,kubelet 将继续每隔 10 秒运行一次探测。除了就绪探针,这个配置包括了一个存活探针。与就绪探针类似,存活探针会尝试连接 goproxy 容器的 8080 端口。在本练习中,你会创建一个 Pod,其中运行一个基于 registry.k8s.io/busybox 镜像的容器。许多长时间运行的应用最终会进入损坏状态,除非重新启动,否则无法被恢复。当我们把容器内部的Tomcat进程停掉以后,存活探针探测8080端口失败以后,kubelet自己重启了容器。

2023-12-13 16:09:16 430 1

原创 Harbor存储的chart包

在安装了ChartMuseum组件后,当用户使用“helm”命令向Harbor推送或拉取Chart时,Harbor的Core组件会首先收到请求,在校验后将请求转发给ChartMuseum进行Chart文件的读写。Harbor在v1.6版本开始支持Helm Chart仓库功能,这样就可以利用 harbor 同时管理镜像和 helm charts 了,无需另外部署一套Helm Chart系统。在harbor中,chart仓库由chartmuseum以插件的方式提供,可以自己选择安装或者不安装。

2023-12-11 17:40:03 458 1

原创 K8S+harbor镜像拉取实战

因为我们要在k8s集群的master上面新建由私库拉取下来的镜像生成的pod,而登陆私库需要认证,所以需要获得秘钥认证才可以,这时可以直接用2个节点的秘钥,并生成可用的二进制秘钥,-w 0 表示生成秘钥不转行,默认转行不是正确的格式会出错。陆到harbor,有一个属于自己的认证秘钥,在家目录下的.docker/config.json里面。通过私有仓库下的镜像创建一个pod验证一下。一,先部署镜像仓库harbor服务。没成功下载一次,下载数累加1。harbor镜像上传和下载。安装harbor镜像服务。

2023-12-11 16:57:00 846 1

原创 K8S中hostpath的使用

hostPath类型则是映射node文件系统中的文件或者目录到pod里。在使用hostPath类型的存储卷时,也可以设置type字段,支持的类型有文件、目录、File、Socket、CharDevice和BlockDevice。hostPath类似于docker -v参数,将宿主主机中的文件挂载pod中,但是hostPath比docker -v参数更强大,(Pod调度到哪个节点,则直接挂载到当前节点上)

2023-12-10 20:36:55 487

原创 亲和性与反亲和性学习

例如,如果我们有一个具有指定区域(称之为 “Zone V”)的集群,此区域由带有 topology.kubernetes.io/zone=V 标签的节点组成,那么只要 Zone V 内已经至少有一个 Pod 打了 security=S1 标签, 调度器就可以将此 Pod 调度到 Zone V 内的任何节点。当调度器找到能够满足 Pod 的其他调度请求的节点时,调度器会遍历节点满足的所有的偏好性规则, 并将对应表达式的 weight 值加和。在调度器为 Pod 作出调度决定时,总分最高的节点的优先级也最高。

2023-12-10 20:04:43 791

原创 污点与容忍学习

污点:是标注在节点上的,当我们在一个节点上打上污点以后,k8s 会认为尽量不要将 pod 调度到该节点上,除非该 pod 上面表示可以容忍该污点,且一个节点可以打多个污点,此时则需要 pod 容忍所有污点才会被调度该节点。容忍:是标注在 pod 上的,当 pod 被调度时,如果没有配置容忍,则该 pod 不会被调度到有污点的节点上,只有该 pod 上标注了满足某个节点的所有污点,则会被调度到这些节点。NoSchedule:不能容忍的 pod 不能被调度到该节点,但是已经存在的节点不会被驱逐。

2023-12-10 17:29:09 400

原创 一个nginx的deployment文件

【代码】一个nginx的deployment文件。

2023-12-08 16:51:22 344

原创 ConfigMap配置ConfigMap热更新及学习

https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/configure-pod-configmap/ —kubernetes官网介绍ConfigMap的地址。本页提供了一系列使用示例,这些示例演示了如何创建 ConfigMap 以及配置 Pod 使用存储在 ConfigMap 中的数据。上面是通过configmap定义环境变量的配置,咱们在演示一个通过configmap定义容器内配置文件相关的配置。

2023-12-08 14:42:52 614

原创 Label 与 Label Selector学习

资源的分类和归类:可以根据业务需求或其他条件为资源打上不同的标签,例如将前端和后端服务分别打上"frontend"和"backend"的标签,或者根据环境将资源打上"dev"或"prod"的标签,从而方便对资源进行分类和组织。这样就可以根据标签进行资源的筛选和过滤,例如通过标签选择器将特定标签的Pod部署到指定的节点上。资源的版本管理:可以使用不同的标签来区分资源的版本,例如为应用程序的不同版本打上不同的标签,方便进行版本切换或回滚。修改pod中的标签的值的话可以通过修改deployment去更改。

2023-12-07 10:30:38 413

原创 keepalived+nginx实现服务的高可用

我的实战方法是两个nginx负载两个tomcat服务,用keepalived实现ngixn的高可用,我这是测试环境的组网,我开了两个虚拟机,给大家演示一下怎么配置,生产环境nginx服务和tomcat服务最好分别独立部署,尽量不要合设。通过查看主机的IP,可以看到在192.168.21.100主机上分配了一个192.168.21.119的VIP,通过VIP访问服务是可以的,咱们将192.168.21.100主机关机,咱们在访问VIP看看是什么情况。废话少说,咱们直接开始实战!主keepalived配置。

2023-11-30 23:08:44 1087

原创 Pod管理与使用

在K8S中,Pod是最小的调度单位,可以理解为一组相关的容器集合。通过合理配置Pod的规格和资源,可以实现高效的容器编排和资源利用。使用kubectl describe pod <pod名称>命令可以查看指定Pod的详细信息。可以通过在Pod的描述文件中设置资源请求和限制来管理Pod使用的计算资源(CPU、内存等)。使用kubectl delete pod <pod名称>命令可以删除指定的Pod。K8S会根据节点上的资源情况进行合理的调度,以保证各个Pod的资源需求被满足。

2023-11-29 21:44:36 406 1

原创 Deployment管理与使用

Deployment管理与使用

2023-11-29 21:19:22 374 1

原创 全网最简单的ingress-nginx安装部署

ingress-nginx安装的方式有两种,一种是通过helm安装,另一种是通过ingress官网的提供的yaml文件去安装,本次先以官网的提供的yaml文件文件去安装,后面在出个通过helm安装的教程。这是官网提供的直接通过YAML部署ingress-nginx,一般环境部署在内网情况下的话,这个yaml文件时没法下载的,yaml配置中的pod镜像也没法下载。#部署思路,咱们先把官网提供的部署yaml文件下载下来,在官网的yaml基础上结合咱们当前的环境进行适当的修改。1.先下载官网的yaml配置文件。

2023-11-29 18:01:37 1369 5

原创 【Kubernetes存储篇】StorageClass存储类动态生成PV

咱们在使用helm安装部署zookeeper,redis时下载的chart包里默认的都是有StorageClass这个参数,当咱们的环境中没有创建StorageClass存储类时,应用时无法部署的,本次使用最简单的方法创建StorageClass存储类,在使用helm部署应用时动态创建PV,PVC。3.咱们以nfs-client这个StorageClass创建服务验证一下,咱们通过helm部署个zookeeper验证一下。Storageclass存储类实战演示。1.搭建NFS服务端。

2023-11-25 20:50:50 375

原创 内网环境升级Linux内核

本次使用的操作系统是Centos。

2023-11-14 22:19:59 97 1

原创 K8S学习-deployment创建容器

通过deployment创建容器。

2023-10-16 22:04:44 84 1

原创 K8S学习-通过K8S创建一个容器

然后指定nginx-demo.yaml这个文件去创建容器。在yaml文件中定义容器的创建规则。

2023-10-16 21:21:38 124 1

原创 Docker-高级网络配置

在nginx1容器内访问同网桥nginx2可以,访问非同网桥的nginx3则失败,由此可以得出多个容器指定在同一个网桥时,可以在任意一个容器中使用主机名与容器进行互通。通过上面的容器IP可以看出来,在test2网桥上起的nginx3容器和test1网桥上的容器不是同一个网段的,咱们验证一下容器服务内部的调用情况。虚拟网桥,实际上是 Linux 的一个 bridge,可以理解为一个软件交换机。我在这个宿主机上起了三个nginx服务,分别在test1的网桥上起了一个,test2网桥上起了一个。

2023-08-16 00:04:57 43 1

原创 容器化学习-Dockerfile实战

(2)将Tomcat和JDK应用程序放在Dockerfile的同级目录下。(1)基于Dockerfile构建镜像依赖基础镜像,先下载个基础镜像。基于Dockerfile构建Tomcat+JDK的镜像。(3)开始编写Dockerfile。(4)开始构建容器镜像。(5)启动容器验证镜像。

2023-08-13 20:08:33 49 1

原创 Linux主机磁盘分区的创建与文件系统扩容 --老奶奶教程

二:通过上面可以看出sdb硬盘一共30G,使用sdb给根扩容10G,在/opt目录下给创建个software,给/opt/software文件夹单独挂载一个逻辑卷20G。(1)通过fdisk命令新增一个sdb1分区10G和sdb2分区分别用来给根扩容和创建20G的/opt/software逻辑卷。通过下面的命令咱们可以看到当前根目录的大小及文件系统的类型,根文件系统的类型是xfs,常见的文件系统是xfs和ext4。可以看出,主机有sda和adb两个硬盘,sda在装系统时使用了,sdb还没被使用。

2023-08-06 22:27:53 357

ingress-nginx

ingress-nginx-deployment文件

2023-12-11

31-shell脚本案例-mysql备份脚本.html

31-shell脚本案例-mysql备份脚本.html

2021-08-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除