- 博客(97)
- 收藏
- 关注
原创 For循环
For循环语法结构列表循环列表for循环:用于将一组命令执行已知的次数基本语法格式//打印一到五[root@localhost ~]# cat for.sh #!/bin/bashfor i in {1..5} do echo $idone//执行[root@localhost ~]# ./for.sh 12345[root@localhost ~]# cat for.sh #!/bin/bashfor i in {1..5} do echo
2022-02-18 13:29:35
962
原创 Prometheus容器化部署,配合Grafan画图工具监控节点信息
文章目录Prometheus 容器化部署,配合Grafan画图工具监控节点部署 Prometheus部署 node_exporter部署grafanaPrometheus 容器化部署,配合Grafan画图工具监控节点环境准备主机名主机IP需安装服务prometheus192.168.218.132prometheus、grafananode-exporter192.168.218.130node-exporter部署 Prometheus准备工作/
2021-12-30 11:33:04
634
原创 k8s平台部署Java网站项目
k8s平台部署Java网站项目//安装依赖包[root@master ~]# yum -y install java-17-openjdk maven git//拉取代码[root@master java]# pwd/opt/java[root@master java]# git clone https://gitee.com/forgotten/tomcat-java-demo.gitCloning into 'tomcat-java-demo'...remote: Enumeratin
2021-12-28 12:05:45
642
原创 使用nginx对k8s集群中的service做负载均衡
用nginx对k8s集群中的service做负载均衡环境准备主机IP角色192.168.218.133master192.168.218.130node1192.168.218.144node2192.168.218.132nginx资源清单文件[root@master manifest]# cat test.yml ---apiVersion: apps/v1kind: Deployment metadata: name: w
2021-12-28 09:58:32
2333
原创 k8s-service
文章目录Service对外暴露应用操作练习Service对外暴露应用Service是什么其实就是k8s中的服务注册与负载均衡最终能够实现,提供一个唯一的地址,供我们来访问地址,而不需要具体的去了解,这个服务起的Pod的ip是什么Service存在的意义Service引入主要是解决Pod的动态变化,提供统一访问入口防止Pod失联,准备找到提供同一个服务的Pod(服务发现)定义一组Pod的访问策略(负载均衡)Pod与Service的关系Service通过标签关联一组PodServi
2021-12-27 10:59:03
1447
原创 K8s工作负载控制器
工作负载控制器工作负载控制器(Workload Controllers)是K8s的一个概念,用于更高层次对象,部署和管理Pod。常用工作负载控制器:Deployment:无状态应用部署StatefulSet:有状态应用部署DaemonSet:确保所有Node运行同一个PodJob:一次性任务Cronjob:定时任务控制器作用:管理Pod对象使用标签与Pod关联控制器实现了Pod的运维,例如滚动更新、伸缩、副本管理、维护Pod状态等DeploymentDeployment的功
2021-12-25 11:51:28
820
原创 Pod资源调度
文章目录nodeSelector(节点选择器)nodeAffinity(节点亲和性)Taint(污点)与Toleration(污点容忍)nodeSelector(节点选择器)nodeSelector: 用于将Pod调度到匹配label的Node上,如果没有匹配的标签会调度失败作用:约束Pod到特定的节点运行完全匹配节点标签应用场景:专用节点:根据业务将Node分组管理配备特殊硬件:部分Node配有SSD硬盘、GPU给节点打标签语法格式:格式:kubectl label nodes
2021-12-24 12:21:57
937
原创 K8s部署
部署k8s准备工作实验环境角色IP系统硬件master192.168.218.133centos82核 3G内存node1192.168.218.130centos84核 4G内存node2192.168.218.144centos84核 4G内存设置主机名、关闭三台主机的防火墙和selinux、还有swap分区空间三台主机都是需要做同样的配置,以下以master主机演示//修改主机名[root@localhost ~]# ho
2021-12-21 10:42:19
1494
原创 K8s简介
文章目录K8s介绍k8s架构集群MasterNodeK8s核心专业术语podLabelK8s介绍kubernetes,简称K8s,是用8代替8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。传统的应用部署方式是通过插件或脚本来安装应用。这样做的缺点是应用的运行、配置、管理、所有生存周期将与当前操作系统绑定,这样
2021-12-16 19:15:58
4588
1
原创 Harbor
文章目录HarborHarbor简介Harbor的功能Docker composeharbor私有镜像仓库部署Harbor无论是使用Docker-distribution去自建仓库,还是通过官方镜像跑容器的方式去自建仓库,通过前面的演示我们可以发现其是非常的简陋的,还不如直接使用官方的Docker Hub去管理镜像来得方便,至少官方的Docker Hub能够通过web界面来管理镜像,还能在web界面执行搜索,还能基于Dockerfile利用Webhooks和Automated Builds实现自动构建镜
2021-12-16 11:12:33
148
原创 podman容器开机自启
文章目录podman网络podman容器的开机自启root用户普通用户podman网络没有运行任何容器前[root@localhost ~]# ip a1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8
2021-12-15 10:35:33
2894
原创 Podman安装和使用
文章目录安装podmanpodman使用普通用户使用podman安装slirp4netns和fuse-overlayfs/etc/subuid和/etc/subgid配置启用非特权 ping用户操作用户配置文件使用volumes安装podman[root@192 ~]# yum -y install podmanpodman使用podman search[root@192 ~]# podman search busyboxINDEX NAME
2021-12-14 11:32:48
3415
原创 Dockerfile基于alpine制作haproxy镜像
文章目录dockerfile基于alpine制作haproxy镜像准备两台网站服务dcokerfile访问测试dockerfile基于alpine制作haproxy镜像准备两台网站服务//httpd服务[root@192 ~]# docker run -d --name web01 httpd c2947f44ce68e701944f67aed2cfc6cb3ed95d85ab596dcaf98b270bfaf5979e[root@192 ~]# docker inspect web01...
2021-12-13 10:40:56
1823
原创 Dockerfile部署haproxy
文章目录Dockerfile部署haproxydockerfile网站服务器测试功能Dockerfile部署haproxydockerfile//目录结构[root@192 ~]# tree haproxy/haproxy/├── Dockerfile├── files│ ├── haproxy-2.4.0.tar.gz│ └── install.sh└── start.sh//dockerfile[root@192 haproxy]# cat Dockerfile FR
2021-12-11 11:04:01
1992
原创 dockerfile部署HTTPD
dockerfile部署HTTPD//目录结构[root@localhost ~]# tree apache/apache/├── Dockerfile└── files ├── apr-1.7.0.tar.gz ├── apr-util-1.6.1.tar.gz └── httpd-2.4.48.tar.gz//Dockerfile内容[root@localhost apache]# cat Dockerfile FROM centosLABEL MAINTA
2021-12-09 16:40:35
759
原创 docker数据卷容器
文章目录数据卷容器创建nginx容器,提供网站和配置文件利用数据卷容器迁移数据数据卷容器如果用户需要在容器之间共享一些持续更新的数据,最简单的方式是使用数据卷容器。数据卷容器其实就是一个普通的容器,专门用它提供数据卷供其他容器挂载,使用方法如下:创建一个数据卷容器dbdata,并在其中创建一个数据卷挂载到/dbdata[root@localhost ~]# docker run -dit --name dbdata -v /data busyboxae5b45f951b678c219902e2
2021-12-07 21:18:43
1638
原创 docker存储卷
文章目录COW机制什么是存储卷使用存储卷的好处为什么要用存储卷存储卷管理方式存储卷的分类容器数据管理使用nfs挂载COW机制Docker镜像由多个只读层叠加而成,启动容器时,Docker会加载只读镜像层并在镜像栈顶部添加一个读写层。如果运行中的容器修改了现有的一个已经存在的文件,那么该文件将会从读写层下面的只读层复制到读写层,该文件的只读版本依然存在,只是已经被读写层中该文件的副本所隐藏,这就是“写时复制(COW)”机制。对于这种方式来说,我们去访问一个文件,修改和删除等一类的操作,其效率会非常的
2021-12-07 11:33:33
152
原创 docker容器网络配置
文章目录Linux内核实现名称空间的创建创建Network Namespace操作Network Namespace转移设备veth pair创建veth pair实现Network Namespace间通信veth设备重命名四种网络模式配置bridge模式配置none模式配置container模式配置host模式配置容器的常用操作查看容器的主机名在容器启动时注入主机名手动指定容器要使用的DNS开放容器端口自定义docker0桥的网络属性信息docker创建自定义桥Linux内核实现名称空间的创建可以借
2021-12-06 09:58:33
531
原创 docker-虚拟化和四种网络模式
文章目录docker容器虚拟化虚拟化网络单节点容器间通信不同节点容器间通信docker容器网络docker的4种网络模式bridge模式container模式host模式none模式docker容器虚拟化虚拟化网络Network Namespace 是 Linux 内核提供的功能,是实现网络虚拟化的重要功能,它能创建多个隔离的网络空间,它们有独自网络栈信息。不管是虚拟机还是容器,运行的时候仿佛自己都在独立的网络中。而且不同Network Namespace的资源相互不可见,彼此之间无法通信。假如我们
2021-12-04 09:53:48
147
原创 docker基于centos部署lnmp
文章目录docker基于centos8制作nginx镜像docker基于centos8制作mysql镜像docker基于centos8制作php镜像docker基于centos8制作nginx镜像//基于centos开启容器[root@localhost ~]# docker run -it --name=centos_nginx 5d0da3dc9764 /bin/sh//安装依赖包sh-4.4# yum -y install pcre-devel openssl openssl-devel
2021-12-04 00:13:01
2650
原创 docker镜像管理基础
文章目录镜像的概念docker镜像层docker存储驱动AUFSOverlayFSDeviceMapperdocker registrydocker镜像的制作Docker Hubdocker镜像的获取镜像的生成基于容器制作镜像基于容器制作镜像步骤镜像的概念镜像可以理解为应用程序的集装箱,而docker用来装卸集装箱。docker镜像含有启动容器所需要的文件系统及其内容,因此,其用于创建并启动容器。docker镜像采用分层构建机制,最底层为bootfs,其上为rootfsbootfs:用于系统引导
2021-12-03 10:43:40
91
原创 docker基础用法
文章目录OCI&OCFOCIOCFdocker架构docker对象安装及使用dockerdocker安装docker加速docker常用操作OCI&OCFOCIOpen Container-initiative由Linux基金会主导于2015年6月创立旨在围绕容器格式和运行时制定一个开放的工业化标准contains two specificationsthe Runtime Specification(runtime-spec)the Image Specificatio
2021-12-02 12:02:21
2224
原创 LXC与Docker介绍
文章目录LXCLUX是什么LXC常用命令LXC的使用Docker容器虚拟化和传统虚拟化的区别Linux NamespacesCGroupsdoeker基本概念docker容器编排LXCLUX是什么LXC(LinuX Containers)Linux容器,一种操作系统层虚拟化技术,为Linux内核容器功能的一个用户空间接口。它将应用软件系统打包成一个软件容器(Container),内含应用软件本身的代码,以及所需要的操作系统核心和库。透过统一的名字空间和共享API来分配不同软件容器的可用硬件资源,创造出
2021-12-01 11:54:57
2861
原创 SaltStack进阶
文章目录masterless应用场景masterless配置salt-master高可用salt-master高可用之数据同步salt-master高可用配置masterless应用场景master 与 minion 网络不通或通信有延迟,即网络不稳定想在 minion 端直接执行状态仅有一台主机masterless配置masterless配置步骤:配置文件注释master行取消注释file_client并设其值为local设置file_roots设置pillar_roots关
2021-11-30 11:20:33
577
原创 SaltStack-salt-ssh
文章目录salt-ssh介绍salt-ssh的特点salt-ssh远程管理的方式salt-ssh管理通过使用用户名密码的SSH实现远程管理通过salt-ssh初始化系统安装salt-minionsalt-ssh介绍salt-ssh可以让我们不需要在受控机上安装salt-minion客户端也能够实现管理操作。salt-ssh的特点远程系统需要Python支持,除非使用-r选项发送原始ssh命令salt-ssh是一个软件包,需安装之后才能使用,命令本身也是salt-sshsalt-ssh不会取代标
2021-11-29 09:58:33
393
原创 Prometheus安装部署
Prometheus介绍Prometheus(由go语言(golang)开发)是一开源的监控&报警&时间序列数据库的组合。 适合监控docker容器。因为kubernetes(俗称k8s)的流行带动了 prometheus的发展。功能及优点:在业务层用作埋点系统:Prometheus支持多种语言(Go,java,python,ruby官方提供客户端,其他语言有第三方开源客户端)。我们可以通过客户端方面的对核心业务进行埋点。如下单流程、添加购物车流程。在应用层用作应用监控系统:一
2021-11-26 11:23:31
778
原创 SaltStack-系统初始化
文章目录系统初始化关闭selinux关闭firewalld时间同步chrony系统初始化关闭selinux[root@master init]# pwd/srv/salt/base/init[root@master init]# tree selinux/selinux/├── files│ └── config└── main.sls[root@master selinux]# cat main.sls /etc/selinux/config: file.managed:
2021-11-15 10:49:42
480
原创 SaltSatck-zabbix部署-优化部署
zabbix部署因为zabbix是用php语言开发的,所以必须先部署lamp架构,使其能够支持运行php网页pillar结构[root@master pillar]# tree .├── base└── prod ├── apache.sls ├── mysql.sls ├── top.sls └── zabbix.sls[root@master prod]# cat top.sls prod: 'node': - apache -
2021-11-12 12:06:06
1186
原创 SaltSatck-zabbix部署
部署zabbix部署lamp因为zabbix是用php语言开发的,所以必须先部署lamp架构,使其能够支持运行php网页lamp模块结构[root@master ~]# tree /srv/salt/prod/modules//srv/salt/prod/modules/├── application│ └── php│ ├── files│ │ ├── init.d.php-fpm│ │ ├── install.sh│
2021-11-11 12:11:49
1177
原创 SaltStack-return与job管理
文章目录SaltStack组件之returnreturn流程使用mysql作为return存储方式SaltStack组件之returnreturn组件可以理解为SaltStack系统对执行Minion返回后的数据进行存储或者返回给其他程序,它支持多种存储方式,比如用MySQL、MongoDB、Redis、Memcache等,通过return我们可以对SaltStack的每次操作进行记录,对以后日志审计提供了数据来源。目前官方已经支持30种return数据存储与接口,我们可以很方便的配置与使用它。当然也支
2021-11-08 11:26:41
116
原创 SaltStack-常用模块<二>
文章目录SaltStack常用模块之salt-cpSaltStack常用模块之filefile.accessfile.appendfile.basenamefile.dirnamefile.check_hashfile.chattrfile.chownfile.copyfile.directory_existsfile.file_existsfile.findfile.get_gidfile.get_uidfile.get_groupSaltStack常用模块之salt-cpsalt-cp能够很方便的把
2021-11-05 09:17:55
476
原创 SaltStack-常用模块<一>
SaltStack模块介绍Module是日常使用SaltStack接触最多的一个组件,其用于管理对象操作,这也是SaltStack通过Push的方式进行管理的入口,比如我们日常简单的执行命令、查看包安装情况、查看服务运行情况等工作都是通过SaltStack Module来实现的。saltstack安装完成以后,系统上会安装很多Module//查看所有module列表[root@master ~]# salt 'node1' sys.list_modulesnode1: - acl
2021-11-03 22:52:46
584
原创 SaltStack-数据系统
SaltStack数据系统SaltStack有两大数据系统:GrainsPillarSaltStack数据系统组件SaltStack组件之GrainsGrains是SaltStack的一个组件,其存放着minion启动时收集到的信息(获取启动之前生成的信息,启动之后的信息获取不到)。Grains是SaltStack组件中非常重要的组件之一,因为我们在做配置部署的过程中会经常使用它,Grains是SaltStack记录minion的一些静态信息的组件。可简单理解为Grains记录着每台min
2021-11-03 11:15:25
98
原创 SaltStack-配置管理
YAMLYAML是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。它类似于标准通用标记语言的子集XML的数据描述语言,语法比XML简单很多。YAML语言的格式如下:house: family: name: Doe parents: - John - Jane children: - Paul - Mark - Simone addre
2021-11-02 23:13:27
150
原创 SaltStack-介绍与入门
SaltStack介绍SaltStack官方网站点击此处自动化运维工具作为一个运维人员,很大一部分工作是在业务的配置管理和状态维护以及版本发布上,而当业务场景及公司规模上了一定规模后,人为手工的去做这些工作将变得极其困难,此时我们将需要利用一些自动化运维的工具来达到批量管理的目的。常用的自动化运维工具有:puppetansiblesaltstack此三款属同类工具,皆可用来提高运维管理的效率,但它们又各有优势,目前主流的自动化运维工具是ansible和saltstack。其中ansib
2021-11-02 20:38:22
243
原创 Nginx-nginx配置文件详解<三>
状态界面配置官方文档查看状态界面配置方法点击此处语法和位置:开启status:[root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf...... location /status { stub_status; }......[root@nginx ~]# nginx -s reload 此状态是nginx服务运行的状态,不应该所有人都可以访问,我们可以添加allow和deny[r
2021-10-29 11:32:04
985
原创 Nginx-nginx状态监控
nginx状态监控环境说明:IP主机192.168.218.132lnmp架构、zabbix_server192.168.218.133nginx、zabbix_agentzabbix_agent端部署nginx//安装依赖环境[root@agent ~]# yum -y install pcre-devel openssl openssl-devel gd-devel gcc gcc-c++ make [root@agent ~]# yum -y grou
2021-10-29 10:48:25
1806
原创 nginx-配置文件详解<二>
错误页面配置官网查看错误界面配置点击此处error_page code […] [=code] URI | @name 根据http响应状态码来指明特用的错误页面,在安装nginx后默认是备注释掉的语法使用例如 :error_page 404 /404_customed.html指定网站为404错误页面,以下举例演示:搜索一个网站,下载下来上传到安装路径下的/html/下[root@nginx html]# ls 50x.html index.html 中国社会公益网_files
2021-10-28 00:18:15
240
原创 lnmp部署(php8.0)
lnmp部署lamp平台软件安装次序:nginx-->mysql-->php顺序很重要,不能颠倒顺序关闭防火墙[root@localhost ~]# systemctl disable --now firewalld[root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config[root@localhost ~]# setenforce 0安装nginx//安装依
2021-10-27 11:40:04
386
原创 nginx-工作原理及配置文件详解<一>
nginx工作原理nginx由内核和模块组成。其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个location block(location是nginx配置中的一个指令,用于URI匹配),而在这个location中所配置的每个指令将会启动不同的模块去完成相应的工作。nginx的模块分类nginx的模块从结构上分为核心模块、基础模块和第三方模块HTTP模块、EVENT模块和MAIL模块等属于核心模块HTTP Access模块、HTTP FastCGI
2021-10-26 10:18:34
2421
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人