- 博客(113)
- 收藏
- 关注
原创 kubernetes Kustomize
Kustomize 是一个独立的工具,用来通过 kustomization 文件定制 Kubernetes 资源对象配置。它提供了一种无需模板和 DSL(领域特定语言) 即可自定义 Kubernetes 资源对象配置的解决方案。
2023-01-12 09:48:18 660
原创 kubernetes 监控
对于 k8s 集群的监控,本文采用 Prometheus 进行监控采集,再使用 Grafana 来进行数据可视化展示。
2023-01-12 09:42:56 573
原创 Kubernetes 部署 LNMP 环境
原文链接:https://www.cpweb.top/2283 1、背景环境现将个人博客迁往 K8S 中,个人博客使用 Wordpress,典型的 LNMP 架构。环境:• K8S 版本为 1.22,单节点。• MySQL 为一主一从集群,采用 StatefulSet 部署,位于 mysql 命名空间。• Nginx 和 PHP,采用 Deployment 部署,位于 blog 命名空间。 • Nginx 和 PHP 的 Service 使用 ClusterIP,使用 Ingress 进行转
2022-01-19 14:14:57 3434
原创 Kubernetes 部署 MySQL 主从集群
原文链接:https://www.cpweb.top/2278建议阅读官方文档:https://kubernetes.io/zh/docs/tasks/run-application/run-replicated-stateful-application/ 一、环境 本章内容,将使用 StatefulSet 控制器运行一个有状态的应用程序,应用程序为一主多从的 MySQL 集群。 我们将创建一个 ConfigMap、两个 Service 、三个 PV 和一个 StatefulSet。.
2022-01-19 14:13:49 786
原创 Kubernetes Local PV
原文链接:https://www.cpweb.top/2273 一、介绍 Local 卷表示配置的本地存储设备,如磁盘、分区或目录。Local 卷只能用作静态创建的PV,不支持动态资源调配。 与 hostPath 卷相比,Local 卷以持久和可移植的方式使用,无需手动将 POD 调度到节点。系统通过查看 PV 上的节点关联来了解卷的节点约束。 注意,Local 卷取决于基础节点的可用性,并不适用于所有应用程序。如果节点变得不正常,则 Pod 将无法访问本地卷,使用此卷的 Pod 无法运.
2022-01-19 14:12:29 723
原创 Kubernetes 动态卷—NFS
原文链接:https://www.cpweb.top/2244 一、基础概念 动态卷供应(Dynamic Volume Provisioning)允许按需创建存储卷。如果没有动态供应,群集管理员必须手动调用其云或存储提供商来创建新的存储卷,然后创建 PV 对象以在 Kubernetes 中表示它们。动态供应功能消除了集群管理员预先供应存储的需要,相反,它会在用户请求时自动配置存储。 动态卷的实现是基于 StorageClass,每个 StorageClass 对象都指定一个卷插件(也称为 p.
2022-01-19 14:10:52 1046
原创 Kubernetes PV 和 PVC
原文链接:https://www.cpweb.top/2201 一、基础概念 PV 即 Persistent Volume(持久化卷),是集群中由管理员配置的一段存储,它是集群中的资源,就像节点是集群资源一样。它就是底层网络存储的抽象,将存储定义为一种“资源”。 PVC 即 Persistent Volume Claim(持久化卷声明),是用户对存储的请求。它类似于 Pod,Pod 消耗节点资源,而 PVC 则消耗 PV 资源。PVC 可以申请特定的存储空间和访问模式。 官方文档:htt.
2022-01-19 14:09:50 760
原创 Kubernetes Volume
原文链接:https://www.cpweb.top/2192 一、基础概念 我们知道 Pod 是由容器组成的,当容器宕机或停止之后数据就会随之丢失。这可能会给在容器中运行的应用程序带来了一些问题,例如,当容器崩溃时由 kubelet 重新启动的容器是一个全新的,之前的文件数据都丢失了。对于这种情况我们可以使用 Volume(卷)来解决。 Kubernetes 支持多种类型的卷,一个 Pod 可以同时使用任意数量的卷。 官方文档:https://kubernetes.io/docs/c
2022-01-19 14:07:20 338
原创 Kubernetes ConfigMap
原文链接:https://www.cpweb.top/2179一、基础概念 ConfigMap 用于在键值对中存储非机密数据,使用它可以将应用所需的配置信息与程序进行分离,这样可以使得应用程序可以被更好地移植复用,而且还可以通过不同的配置实现更灵活的功能。 官方文档:https://kubernetes.io/docs/concepts/configuration/configmap/、https://kubernetes.io/docs/tasks/configure-pod-contain.
2021-11-28 20:18:52 312
原创 Kubernetes Ingress
原文链接:https://www.cpweb.top/2121一、基础概念 Ingress 用于管理对集群中服务的外部访问,它可以提供负载均衡、SSL 加密和基于名称的虚拟主机。它可以将不同 URL 的访问请求转发到后端不同的 Service ,以实现 HTTP 层的业务路由机制,流量路由由 Ingress 资源上定义的规则控制。 使用 Ingress 进行负载分发时, Ingress 控制器将基于 Ingress 规则将客户端请求直接转发到 Service 对应的后端 Endpoint (即.
2021-11-22 17:31:27 2288
原创 Kubernetes Service
原文链接:https://www.cpweb.top/2103一、基础概念 Service 是 Kubemetes 最核心的概念,它定义了一组逻辑 Pod 和访问它们的策略(有时这种模式称为微服务)。即通过创建 Service ,可以为一组相同功能的 Pod 提供一个统一的入口地址,井且将请求负载均衡分发到后端的各个 Pod 上。Service 所管理的 Pod 集通常由 Label Selector 确定。 运行在每个 Node 上的 kube-proxy 进程其实就是一个智能的软件负载均衡.
2021-11-22 17:25:58 404
原创 Kubernetes Deployment
原文链接: https://www.cpweb.top/2090一、基础概念 在了解 Deployment 之前,先来简单了解下 Replication Controller(RC)和 Replica Set(RS)。 RC 是 Kubemetes 的核心概念之一,简单来说,它其实是定义了一个期望的场景, 即声明某种 Pod 的副本数量在任意时刻都符合某个预期值。RC 的定义包括 Pod 期待的副本数(replicas)、用于筛选目标 Pod Label Selector、Pod 的副本数量小.
2021-11-22 17:24:30 1615
原创 通过硬盘盘符查询硬盘槽位
原文链接:https://www.cpweb.top/1886参考文章:https://support.huawei.com/enterprise/zh/doc/EDOC1000041337/75f2d44b 如何通过硬盘盘符查询硬盘槽位,这个要分两种情况: • 硬盘以直通方式使用时 • 硬盘以RAID组方式使用时 在此之前,我们需要准备 smartctl 和 storcli 工具。smartctl 可以直接 yum 下载(smartmontools),storcli ...
2021-07-28 11:22:58 4930
原创 StorCLI
原文链接:https://www.cpweb.top/1867一、介绍 MegaRAID 是 LSI 的阵列管理工具,它可以帮助我们管理阵列,有图形化界面和命令行工具。我们这只关注 Linux 下的命令行工具,有两个工具,分别是 MegaCLI 和** StorCLI** 。不过 StorCLI 已经基本代替了MegaCLI,所以下面我们都基于 StorCLI 这个工具来。 StorCLI 是专为 MegaRAID 产品线设计的命令行管理软件,说明文档:https://docs.br...
2021-07-28 11:21:35 2700 1
原创 Openstack 异常断电导致存储在ceph集群中的虚拟机起不来
原文链接:https://www.cpweb.top/1768一、问题回顾openstack 集群所有机器再经过一次异常断电后,存储在 ceph 集群中虚拟机起不来,ceph集群为双副本。在断电之前关机的虚拟机是正常的,新建的虚拟机也正常。只有在断电时候处于运行的虚拟机是起不来的。ceph集群状态:[root@controller ~]# ceph -s cluster: id: 6abf44d1-8ad2-4155-88db-8df0e79d576b h...
2021-07-23 15:29:59 930
原创 Openstack Train 版部署
原文地址:https://www.cpweb.top/1789参考文章: https://docs.openstack.org/train/index.html注:以下部署过程没有注解。强烈建议查阅官方文档,官方文档有非常详细的注解。一、环境Openstack 版本:TrainLinux系统:centos 7.8.1810节点信息表(控制节点可以既做控制也做计算):角色网卡1(内部网卡)网卡2(外部网卡)controller192.168.100.10...
2021-07-23 15:10:14 280
原创 PXE 批量安装 Ubuntu 20.04
原文链接:https://www.cpweb.top/1698一、介绍 Ubuntu 20.04 的服务器安装程序支持新的操作模式:自动安装(automated installation)。自动安装可以通过自动安装配置提前回答所有这些配置问题,并使安装过程无需任何交互即可运行。 在 Ubuntu 18.04 中,用的应答文件是 preseeds(预配置文件),它基于 debian-installer(aka di)来实现自动安装的。需要注意的是,如果你使用的是 cobbler,那你应....
2021-04-18 14:53:20 15068 47
原创 Cobbler 批量安装 ubuntu 18.04.5
一、介绍 Cobbler 可以用来快速批量安装 Linux 系统,这里我们在 centos 7 上部署它来引导批量安装 ubuntu 18.04.5-server 系统。环境:主机系统IP地址servercentos 7.6.181010.0.0.5node1未安装操作系统-node2未安装操作系统- 二、配置1、系统初始化(1)关闭selinux和防火墙setenforce 0sed -i '/^SELINUX=/c SELINUX=d
2021-04-08 18:02:36 2082
原创 使用 kubeadm 安装 Kubernetes
原文地址: https://www.cpweb.top/1644 官方文档:https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/ 以下使用 kubeadm 工具安装。此工具可以简化集群的安装和解决集群的高可用问题,适合快速安装学习实验使用。生产环境建议使用以二进制文件的方式安装。 一、基本准备1、关闭防火墙和selinuxsystemctl stop firewalld &&...
2021-02-23 15:03:31 748
原创 Zabbix 基本使用(二)
原文链接:https://www.cpweb.top/1593 前文中,我们主要通过一些小示例,简单了解了下 Zabbix 中如何监控主机、自定义监控项、自定义触发器、自定义报警等,大致了解了整体流程。下面我们将对自定义监控项、自定义触发器、自定义报警、自定义图形、自定义模板整体进行简单的介绍使用。 建议看官方文档吧,中文官网文档它不香么:https://www.zabbix.com/documentation/4.0/zh/manual 一、监控项例如以下监控 tcp/22 端...
2021-01-31 20:22:51 168
原创 Zabbix 基本使用(一)
原文链接:https://www.cpweb.top/1565以下是 Zabbix 的简单入门使用,主要是简单接触了解下添加主机、监控项、触发器、报警媒介,结合使用下。 一、监控主机提前下载准备好 zabbix-agent 软件,上传到要监控的主机进行安装配置:[root@web01 ~]# yum localinstall -y zabbix-agent-4.0.27-1.el7.x86_64.rpm[root@web01 ~]# vim /etc/zabbix/zabbix_a...
2021-01-31 20:21:45 208
原创 Dockerfile
原文链接:https://www.cpweb.top/1532推荐点击原文链接进行阅览,个人感觉格式比csdn更舒服些,阅读体验更好。 一、介绍 Dockerfile 是一个文本格式的配置文件,用户可以使用它来快速构建自定义的镜像。Dockerfile 由一行行命令语句组成,并且支持以#开头的注释行。一般而言,Dockerfile 主体内容主要分为三部分:基础镜像信息、镜像操作指令和容器启动时执行指令。在配置好 Dockerfile 后可以使用 docker build 命令基于它去创...
2021-01-19 12:44:10 287
原创 Zabbix 安装部署
原文地址:https://www.cpweb.top/1460 官方 4.0 中文文档:https://www.zabbix.com/documentation/4.0/zh/manual。以下内容基于 Zabbix 4.0 LTS(包括后续的 Zabbix 系列文章),也大部分参考于官方文档,相比本文更建议阅读官方文档 ,本文及后续系列文章只是个人整理。 一、介绍 Zabbix 是一个企业级分布式开源监控软件。Zabbix 能够监控众多网络参数和服务器的健康状况。Zabbix 使...
2021-01-07 19:07:32 390 4
原创 Jenkins Pipeline 的简单使用
原文链接:https://www.cpweb.top/1420 前面我们结合了之前的内容使用 Jenkins 简单部署了下 java 项目,接下来我们将学习 Jenkins Pipline 的简单使用,顺便将前面我们的部署 java 项目用 Pipline 来实现。 官方文档:https://www.jenkins.io/doc/book/pipeline/ 一、介绍 Pipline,也称流水线或者说管道。它是一套插件,支持将持续交付(CD)以管道的形式实现并集成到 Jenki...
2021-01-05 00:20:04 467
原创 Jenkins 部署 java 项目
原文链接:https://www.cpweb.top/1393 前面我们学习了 Jenkins 的基本使用,接下我们将结合前面学习的内容来使用 Jenkins 部署 java 项目。其实基本上和前面的 html 例子差不多,只是多了 maven 编译的过程。 整体流程为:开发提交 java 源码到 gitlab 代码仓库 => jenkins 拉取代码并 maven 编译 => jenkins 部署编译生成的war包到web集群。 首先因为 jenkins 需要调用 m...
2020-12-30 23:04:42 585
原创 使用 fail2ban 防 linux ssh 被暴力破解
原文链接:https://www.cpweb.top/1379一、介绍 云服务器经常被人尝试暴力破解SSH,即无限尝试登录SSH,烦人的很。为此,我们可以通过使用 fail2ban 来防范这种行为。fail2ban 是使用python 开发的,它通过监控扫描系统日志文件,并从中分析找出多次尝试登录失败的IP地址,然后调用iptables将其屏蔽掉。当然它不仅仅只限于SSH,还可以防护ftp、pop等密码保护的网络服务。 当然对于sshd服务,更有效的方法是直接禁止root用户登录、更...
2020-12-30 11:26:29 266
原创 Jenkins 基本使用
原文链接:https://www.cpweb.top/1357 前文中,我们学习了 Jenkins 安装配置和用户权限管理,下面我们将学习 Jenkins 的基本使用,将通过集成shell命令、集成GitLab和代码自动发布几个小例子来学习,我们将接触到 Jenkins 的源码管理、凭据、触发器以及参数化构建。 一、项目创建 点击新建任务,我们可以看到以下界面,我们可以选择项目的类型,一般常用的是自由风格的软件项目(Freestyle project)和流水线(Pipeline),...
2020-12-28 19:05:42 398
原创 Jenkins 用户权限管理—Role-based Authorization Strategy
原文链接:https://www.cpweb.top/1341 对于 Jenkins 用户权限的管理的,我们可以使用 Role-based Authorization Strategy 插件来进行管理,这个插件主要是通过创建角色并将其分配给用户或者组来进行用户权限的管理。 一、安装点击打开系统管理 => 插件管理,搜索 Role-based Authorization Strategy 插件进行安装: 然后点击系统管理 => 全局安全配置 => 授权策略,默认...
2020-12-24 20:47:56 817
原创 Jenkins 安装部署
原文链接:https://www.cpweb.top/1331一、介绍 Jenkins是一个开源的基于Java开发的持续集成工具,主要用于自动化各种任务,包括构建、测试和部署软件。Jenkins 是一个扩展性非常强的软件,其功能主要通过插件来扩展实现的,通过插件 Jenkins 集成了持续集成和持续交付工具链中几乎所有的工具。 二、安装两种方式,如下:(1)配置官方源yum安装(推荐)[root@jenkins ~]# wget -O /etc/yum.repos.d/jenk...
2020-12-24 20:46:20 182
原创 Gitlab 安装部署
原文地址:https://www.cpweb.top/1323一、介绍 GitLab是一个开源的代码托管平台,由GitLabInc.开发,使用MIT许可证的基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。 同类代码托管平台还有Github、Gitee,不过它们都是公开,如果想在Github上创建私有仓库是收费的,虽然Gitee可以免费创建私有仓库,但是也有诸多限制。所以我们就可以在企业内部服务器或者云主机...
2020-12-24 20:44:46 201
原创 git 基础
原文链接:https://www.cpweb.top/1306 建议阅读官方文档:https://git-scm.com/book/zh/v2 一、git 是什么 简单的说 git 是一个分布式版本控制系统,那么什么是分布式版本控制系统?在了解它之前,我们先来了解下本地版本控制系统和集中化版本控制系统。 本地版本控制系统:许多人习惯通过复制整个项目目录的方式来保存不同的版本。这么做唯一的好处就是简单,但是特别容易犯错。有时候会混淆所在的工作目录,一不小心会写错文件或者覆盖意想之...
2020-12-23 17:05:52 513
原创 Redis 持久化
原文链接:https://www.cpweb.top/1291一、持久化的两种方式 Redis 提供了两种不同级别的持久化方式 RDB(Redis DataBase) 和 AOF((Append-Only File))。 RDB 持久化方式能够在指定的时间间隔将 Redis 内存中的数据进行快照存储. AOF 持久化方式记录了每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据,AOF 会以 Redis 协议命令格式追加保存每次写的操作到文件末尾,因此可读性...
2020-12-18 20:28:09 71 1
原创 redis 数据类型
原文链接:https://www.cpweb.top/1275 Redis支持五种数据类型:string(字符串)、hash(哈希)、list(列表)、set(集合)以及sorted set(有序集合)。 一、字符串 Redis 的字符串(string)类型可以是字符串(简单的字符串、复杂的字符串(例如 JSON、XML))、数字(整数、 浮点数),甚至是二进制(图片、音频、视频),但是值最大不能超过 512MB。1、增SET 命令用于设置给定 key 的值,如果 key 已经...
2020-12-16 19:40:18 240
原创 redis 安装配置
原文链接:https://www.cpweb.top/1266一、介绍 Redis 是一个开源的,基于内存的数据结构存储系统,它可以用作数据库、缓存和消息中间件。它是一个键值(Key-Value)存储数据库,为非关系型数据库。它支持多种类型的数据结构,如字符串(string)、哈希(hash)、列表(list)、集合(set)、有序集合(sorted set)等。 它的特性:1. 高速读写:Redis在运行时,将数据放在内存当中,利用内存的高性能的特性提高自己的服务性能。2. ...
2020-12-16 19:38:26 230
原创 Logstash 收集跨多行格式日志
原文链接:https://www.cpweb.top/1247 收集跨多行日志,我们需要用到codec的multiline插件来实现,它可以将多行进行合并加入单个事件,例如收集Java exception就可以用到它。 官方文档:https://www.elastic.co/guide/en/logstash/current/plugins-codecs-multiline.html 配置看起来像这样:input { stdin { codec => multi...
2020-12-11 21:32:38 1143
原创 Logstash 收集tomcat访问日志
原文链接:https://www.cpweb.top/1245修改tomcat日志格式:[root@web01 ~]# vim /etc/tomcat/server.xml ...... <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" ...
2020-12-11 21:31:26 438
原创 Logstash 收集nginx访问日志
修改nginx日志格式为json格式:[root@web01 ~]# vim /etc/nginx/nginx.conf...... log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "
2020-12-11 21:28:00 333 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人