自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 收藏
  • 关注

原创 mySQL基础

文章目录数据库专有名词数据结构模型RDBMS专业名词常见的关系型数据库管理系统:关系型数据库的常见组件SQL语句数据库种类 (拓展)层次数据库(Hierarchical Database,HDB)关系型数据库(Relational Database,RDB)面向文档(Document-Oriented)数据库列存储(Column-oriented)数据库XML 数据库(XML Database,XMLDB)键值存储数据库(Key-Value Store,KVS)mySQL的yum部署1.mysql安装2.

2022-04-19 09:49:20 622 1

原创 编译安装httpd

目录编译安装httpd准备环境下载安装包并解压编译安装 apr、apr-util、httpd --顺序不可逆apr-1.7.0apr-util-1.6.1httpd-2.4.53配置httpd配置环境变量 头文件 man文档启动服务并开机自启效果配置三种不同的虚拟主机相同ip 不同端口号不同ip 相同端口号相同ip 相同端口号 不同域名访问控制配置https配置生成证书 //一般都是购买CA生成一对密钥CA生成自签署证书,有效期365天 客户端生成密钥客户端生成证书签署请求CA签署客户端提交上来的证书配

2022-04-19 09:48:08 1659

原创 Prometheus 容器化部署,配合Grafan画图工具监控节点

Prometheus、Grafana 容器化部署环境说明主机名IPmaster192.168.71.147client192.168.71.148在master主机上安装dockerdocker安装//配置网络源(rhel红帽系统)[root@master ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo//配置docker-

2021-12-30 11:40:29 269

原创 kubernetes部署jenkins

kubernetes部署jenkins项目迁移到k8s平台是怎么样的流程?基础镜像(一个空白的镜像)--------运行环境镜像(py/php/go/java)------项目镜像(项目打包)jar包和war包区别jarjar包就是java的类进行编译生成的class文件就行打包的压缩包。里面是一些class文件。当我们自己使用maven写一些java程序,进行打包生成jar包。同时在可以在其他的工程下使用,但是我们在这个工程依赖的jar包,在其他工程使用该jar包也要导入。warwar包其

2021-12-29 12:35:27 949

原创 K8s编排部署java应用

创建Dockerfile文件并提前下载jar包[root@master kubenetres]# lsDockerfile halo-1.3.1.jar [root@master kubenetres]# vim Dockerfile [root@master kubenetres]# cat Dockerfile FROM openjdk:18-jdk-alpine3.15COPY halo-1.3.1.jar /usr/local/halo-1.3.1.jar ENTRYPOINT

2021-12-28 11:40:32 134

转载 K8s暴露端口与代理方式

K8s暴露端口与代理方式kubernetes暴露端口的方式方式1:clusterIP此类型会提供一个集群内部的虚拟IP(与pod不在同一网段),以供集群内部的pod之间通信使用。clusterIP也是kubernetes service的默认类型主要需要以下几个组件的协同工作apiservice:在创建service时,apiserver接收到请求以后将数据存储到etcd中。kube-proxy:k8s的每个节点中都有该进程,负责实现service功能,这个进程负责感知service,pod的变

2021-12-27 11:30:04 1084

原创 k8s工作负载型控制器

工作负载型控制器工作负载是在kubernetes上运行的应用程序。无论你的负载是单一组件还是由多个一同工作的组件构成,在Kubernetes中你可以在一组Pods中运行它。在Kuberneres中,pod代表的是集群上处于运行状态的一组容器。Kubernetes Pods有确定的生命周期。例如,当某Pod在你的集群中运行时,Pod运行所在的节点出现致命错误时,所有该节点上的Pods都会失败。Kubernetes将这类失败视为最终状态:即使该节点后来恢复正常运行,你也需要创建新的Pod来恢复应用。不过

2021-12-25 12:01:24 155

原创 Kubernetes资源调度

Kubernetes资源调度深入理解Pod对象:调度创建一个Pod的工作流程Pod中影响调度的主要属性资源限制对Pod调度的英雄nodeSelector & nodeAffinityTain(污点)& Tolerations(污点容忍)nodeNameKubernetes Scheduler 是 Kubernetes 控制平面的核心组件之一。它在控制平面上运行,将 Pod 分配给节点,同时平衡节点之间的资源利用率。将 Pod 分配给新节点后,在该节点上运行的 kubelet

2021-12-24 12:04:11 761

原创 Kubernetes资源定义并创建haproxy的pod进行负载均衡

haproxy的pod进行负载均衡nginx#yml文件[root@master haproxy]# cat nginx.yml apiVersion: apps/v1kind: Deploymentmetadata: name: nginx1 labels: app: nginx1 namespace: defaultspec: replicas: 1 selector: matchLabels: app: nginx1 template:

2021-12-22 11:17:35 235

原创 kubectl命令的使用、滚动更新

查看kubectl使用的命令,以及用法[root@master ~]# kubectl --helpkubectl controls the Kubernetes cluster manager. Find more information at: https://kubernetes.io/docs/reference/kubectl/overview/Basic Commands (Beginner): create Create a resource from a fil

2021-12-21 11:48:46 1225

原创 kubernetes的pod分类、核心组件、网络模型以及kuberctl命令的使用

pod的分类pod分为两种类型:一种为自主式pod,一种为控制器管理的pod1.自我管理的pod,创建以后仍然需要提交给apiserver,由apiserver接收以后借助于调度器将其调度至指定的node节点,由node启动此pod,如果此pod出现故障,需要重启容器则由kubelet来完成;如果node节点故障了,那么此pod将会消失。其无法实现全局调度。所以不推荐使用此种pod。Pod控制器是管理pod的中间层,使用Pod控制器之后,只需要告诉Pod控制器,想要多少个什么样的Pod就可以了,它会创

2021-12-20 11:28:52 408

原创 Kubernetes集群部署

安装要求在开始之前,部署Kubernetes集群机器需要满足以下几个条件:至少3台机器,操作系统 CentOS7+硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘20GB或更多集群中所有机器之间网络互通可以访问外网,需要拉取镜像禁止swap分区学习目标在所有节点上安装Docker和kubeadm部署Kubernetes Master部署容器网络插件部署 Kubernetes Node,将节点加入Kubernetes集群中部署Dashboard Web页面,可视化查看Kube

2021-12-18 11:47:25 2449

原创 kubernetes详解

简介什么是kubernetesKubernetes(通常称为K8s,K8s是将8个字母“ubernete”替换为“8”的缩写)是一个以容器为中心的基础架构,可以实现在物理集群或虚拟机集群上调度和运行容器,提供容器自动部署、扩展和管理的开源平台。满足了应用程序在生产环境中的一些通用需求:应用实例副本、水平自动扩展、命名与发现、负载均衡、滚动升级、资源监控等。Kubernetes 是一个可移植、可扩展的开源平台,用于管理容器化工作负载和服务,有助于声明式配置和自动化。它拥有庞大且快速发展的生态系统。Ku

2021-12-17 11:29:41 1105

原创 podman加速配置、harbor镜像仓库部署

podman镜像加速配置镜像加速可以使用阿里云、清华大学、网易等多个镜像加速,这里我们使用阿里云的镜像加速。前提需要你先登录,才可以获取你的镜像加速的地址阿里云镜像加速// 修改配置文件centos8[root@localhost containers]# pwd/etc/containers[root@localhost containers]# vim registries.conf [registries.search] //默认是通过https去访问docker官网unqua

2021-12-16 12:27:23 1927

原创 podman的开机自启,podman网络、常用命令

podman网络rootfull和rootless容器网络之间的差异podman容器联网的指导因素之一将是容器是否由root用户运行。这是因为非特权用户无法在主机上创建网络接口。因此,对于rootfull容器,默认网络模式是使用容器网络接口(CNI)插件,特别是桥接插件。对于rootless,默认的网络模式是slir4netns。由于权限有限,slirnetns缺少CNI组网的一些功能;例如,slirp4netns无法为容器提供可路由的IP地址。cni是容器网络接口防火墙防火墙的作用不会影响网络的设

2021-12-15 11:03:22 1004

原创 podman安装、普通用户使用podman的方式、podman的常用命令

Podman 简介Podman 是一个开源的容器运行时项目,可在大多数 Linux 平台上使用。Podman 提供与 Docker 非常相似的功能。正如前面提到的那样,它不需要在你的系统上运行任何守护进程,并且它也可以在没有 root 权限的情况下运行。Podman 可以管理和运行任何符合 OCI(Open Container Initiative)规范的容器和容器镜像。Podman 提供了一个与 Docker 兼容的命令行前端来管理 Docker 镜像。podman官网Podman安装[root

2021-12-14 11:24:06 1765

原创 Dockerfile使用alpine系统制作haproxy镜像

Dockerfile目录结构[root@localhost haproxyalpine]# tree.├── Dockerfile└── files ├── haproxy-2.5.0.tar.gz ├── haproxycfg.sh ├── install.sh └── sysctl.confvim Dockerfile[root@localhost haproxyalpine]# cat Dockerfile FROM alpineLABEL MAIN

2021-12-13 08:43:06 100

原创 dockerfile制作haproxy镜像

目录结构[root@localhost ~]# tree haproxyhaproxy├── 1├── Dockerfile└── files ├── haproxy2.4.0.tar.gz ├── haproxy.cfg ├── haproxy.sh ├── run_haproxy.sh └── sysctl.conf安装haproxy配置文件[root@localhost ~]# cd haproxy[root@localhost haproxy

2021-12-13 08:34:08 95

原创 dockerfile制作haproxy镜像

目录结构[root@localhost ~]# tree haproxyhaproxy├── 1├── Dockerfile└── files ├── haproxy2.4.0.tar.gz ├── haproxy.cfg ├── haproxy.sh ├── run_haproxy.sh └── sysctl.conf安装haproxy配置文件[root@localhost ~]# cd haproxy[root@localhost haproxy

2021-12-10 23:54:43 667

原创 Dockerfile

dockerfile基本结构Dockerfile 是一个文本格式的配置文件,用户可以使用 Dockerfile 快速创建自定义镜像。Dockerfile 由一行行命令语句组成,并且支持以 # 开头的注释行。Docker分为四部分:基础镜像信息维护者信息镜像操作指令容器启动时默认要执行的指令# This dockerfile uses the ubuntu image# VERSION 2 - EDITION 1# Author: seancheng# Command format:

2021-12-08 11:34:05 487

原创 docker容器使用centos容器编译安装httpd

运行一个centos容器在服务端和客户端都安装nfs服务[root@localhost ~]# yum -y install nfs-utils[root@client ~]# yum -y install nfs-utils// 授权一个对象供其使用[root@client ~]# mkdir /nfs //因为没有此目录所以需要创建[root@client ~]# cat /etc/exports/nfs 192.168.71.134(rw)[root@client ~]# sys

2021-12-07 12:06:24 250

原创 docker存储卷的使用

Docker之docker存储卷COW机制Docker镜像由多个只读层叠加而成,启动容器时,Docker会加载只读镜像层并在镜像栈顶部添加一个读写层。如果运行中的容器修改了现有的一个已经存在的文件,那么该文件将会从读写层下面的只读层复制到读写层,该文件的只读版本依然存在,只是已经被读写层中该文件的副本所隐藏,这就是“写时复制(COW)”机制。对于这种方式来说,我们去访问一个文件,修改和删除等一类的操作,其效率会非常的低,因为隔着很多层镜像。而要想绕过这种限制,我们可以通过使用存储卷的机制来实现。

2021-12-07 09:53:25 137

原创 docker容器网络的配置及常用操作

Linux内核实现名称空间的创建ip netns命令可以借助ip netns命令来完成对 Network Namespace 的各种操作。ip netns命令来自于iproute安装包,一般系统会默认安装,如果没有的话,请自行安装。注意:ip netns命令修改网络配置时需要 sudo 权限。可以通过ip netns命令完成对Network Namespace 的相关操作,可以通过ip netns help查看命令帮助信息:[root@localhost ~]# ip netns helpUsa

2021-12-06 10:13:33 2633

原创 dockr容器lnmp

dockr容器lnmpnginx[root@localhost ~]# docker pull centosUsing default tag: latestlatest: Pulling from library/centosa1d0c7532777: Pull complete Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177Status: Downloaded newer ima

2021-12-06 08:45:16 226

原创 docker部署lnmp

dockr容器lnmpnginx[root@localhost ~]# docker pull centosUsing default tag: latestlatest: Pulling from library/centosa1d0c7532777: Pull complete Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177Status: Downloaded newer ima

2021-12-04 14:11:13 2330

原创 docker容器网络

docker容器网络Docker在安装后自动提供3种网络,可以使用docker network ls命令查看[root@localhost ~]# docker network lsNETWORK ID NAME DRIVER SCOPE9692fae45042 bridge bridge localcd5368439dc0 host host localc49a1db81682 none null loca

2021-12-04 12:15:56 64

原创 docker容器虚拟化

Docker之容器虚拟化虚拟化网络Network Namespace 是 Linux 内核提供的功能,是实现网络虚拟化的重要功能,它能创建多个隔离的网络空间,它们有独自网络栈信息。不管是虚拟机还是容器,运行的时候仿佛自己都在独立的网络中。而且不同Network Namespace的资源相互不可见,彼此之间无法通信。假如我们的物理机有4块物理网卡,我们要创建4个名称空间,而这些设备是可以单独关联至某个单独的名称空间使用的如上图所示,把第一块网卡分配给第一个名称空间,第二块分给第二个名称空间,第三块分

2021-12-04 12:07:11 138

原创 docker镜像管理

Docker 镜像管理镜像的概念镜像可以理解为应用程序的集装箱,而docker用来装卸集装箱。docker镜像含有启动容器所需要的文件系统及其内容,因此,其用于创建并启动容器。docker镜像采用分层构建机制,最底层为bootfs,其上为rootfsbootfs:用于系统引导的文件系统,包括bootloader和kernel,容器启动完成后会被卸载以节约内存资源rootfs:位于bootfs之上,表现为docker容器的根文件系统传统模式中,系统启动之时,内核挂载rootfs会首先将其挂载为“

2021-12-03 13:44:55 125

原创 docker的配置,基础用法

什么是dockerdocker中的容器:lxc --> libcontainer --> runCOCI&OCFOCIOpen Container-initiative(开放容器倡议)由Linux基金会主导于2015年6月创立旨在围绕容器格式和运行时制定一个开放的工业化标准包含两个规格:运行时规范(runtime-spec)形象规范(image-spec)OCFOpen Container Format(开放式容器格式)runC 是一个 CLI 工具,用于根据

2021-12-02 11:10:55 4414

原创 LXC、docker

docker是什么?Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。Docker 是 PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源。Docker容器是一个完整的文件系统,这个文件系统中包含了你的软件运行所需要的全部环境,如:软件的源码、运

2021-12-01 10:30:33 1569

原创 masterless、salt-master高可用、salt-syndic

SaltStack进阶masterless的应用应用场景master 与 minion 网络不通或通信有延迟,即网络不稳定想在 minion 端直接执行状态传统的 SaltStack 是需要通过 master 来执行状态控制 minion 从而实现状态的管理,但是当网络不稳定的时候,当想在minion本地执行状态的时候,当在只有一台主机的时候,想执行状态该怎么办呢?这就需要用到 masterless 了。masterless配置修改配置文件minion注释master行取消注释file_c

2021-11-30 11:16:24 695

原创 SaltStack之salt-ssh

介绍salt-ssh可以让我们不需要在受控机上安装salt-minion客户端也能够实现管理操作。特点远程系统需要Python支持,除非使用-r选项发送原始ssh命令salt-ssh是一个软件包,需安装之后才能使用,命令本身也是salt-sshsalt-ssh不会取代标准的Salt通信系统,它只是提供了一个基于SSH的替代方案,不需要ZeroMQ和agent远程管理的方式salt-ssh有两种方式实现远程管理,一种是在配置文件中记录所有客户端的信息,诸如 IP 地址、端口号、用户名、密码以及是

2021-11-29 09:30:23 250

原创 普罗米修斯(Prometheus)部署

简介Prometheus是一个开源的系统监控和报警系统,现在已经加入到CNCF基金会,成为继k8s之后第二个在CNCF托管的项目,在kubernetes容器管理系统中,通常会搭配prometheus进行监控,同时也支持多种exporter采集数据,还支持pushgateway进行数据上报,Prometheus性能足够支撑上万台规模的集群原理Prometheus由Go语言编写而成,采用Pull方式获取监控信息,并提供了多维度的数据模型和灵活的查询接口。Prometheus不仅可以通过静态文件配置监控对象

2021-11-26 12:38:03 3537

原创 系统初始化状态编写

状态文件目录结构[root@master ~]# cd /srv/salt/base/[root@master base]# tree init/init/├── chrony│ ├── files│ │ └── chrony.conf│ └── main.sls├── firewalld│ └── main.sls├── history│ └── main.sls├── kernel│ ├── files│ │ ├── limits.conf

2021-11-13 09:26:03 681

原创 saltstack部署zabbix

saltstack部署zabbix目录结构[root@master ~]# tree /srv/salt/prod//srv/salt/prod/├── modules│ ├── application│ │ └── php│ │ ├── files│ │ │ ├── install.sh│ │ │ ├── oniguruma-devel-6.8.2-2.el8.x86_64.rpm│ │ │ ├──

2021-11-12 11:58:23 206

原创 saltstack部署zabbix

saltstack部署zabbix状态文件编写目录结构[root@master ~]# tree /srv/salt/prod//srv/salt/prod/├── modules│ ├── application│ │ └── php│ │ ├── files│ │ │ ├── install.sh│ │ │ ├── oniguruma-devel-6.8.2-2.el8.x86_64.rpm│ │ │

2021-11-11 13:47:27 58

原创 returners、job_cache的配置、job管理

SaltStack组件之returnreturn组件可以理解为SaltStack系统对执行Minion返回后的数据进行存储或者返回给其他程序,它支持多种存储方式,比如用MySQL、MongoDB、Redis、Memcache等,通过return我们可以对SaltStack的每次操作进行记录,对以后日志审计提供了数据来源。目前官方已经支持30种return数据存储与接口,我们可以很方便的配置与使用它。当然也支持自己定义的return,自定义的return需由python来编写。在选择和配置好要使用的retu

2021-11-08 10:37:18 122

原创 saltstack--salt-cp、file模块的使用

SaltStack常用模块之file//检查指定路径是否存在[root@master ~]# salt '*' cmd.run 'ls /opt'minion02: test2minion01: test1[root@master ~]# salt '*' file.access /opt/test1 f //f检查是否为文件minion02: Falseminion01: True//检查指定文件的权限[root@master ~]# salt '

2021-11-05 14:06:18 1123

原创 saltstack的常用执行模块

saltstack的模块介绍Module是日常使用SaltStack接触最多的一个组件,其用于管理对象操作,这也是SaltStack通过Push的方式进行管理的入口,比如我们日常简单的执行命令、查看包安装情况、查看服务运行情况等工作都是通过SaltStack Module来实现的。当安装好Master和Minion包后,系统上会安装很多Module,大家可以通过以下命令查看支持的所有Module列表://查看所有module列表[root@master ~]# salt 'minion01' sys

2021-11-04 13:00:12 239

原创 saltstack的配置管理与数据系统

YAML语言YAML是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。它类似于标准通用标记语言的子集XML的数据描述语言,语法比XML简单很多。YAML语言的格式如下:house: family: name: Doe parents: - John - Jane children: - Paul - Mark - Simone add

2021-11-03 12:25:01 2452

空空如也

空空如也

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

TA关注的人

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