- 博客(78)
- 收藏
- 关注
原创 kubernetes Service详解
在kubernetes中,pod是应用程序的载体,我们可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着不方便直接采用pod的ip对服务进行访问。为了解决这个问题,kubernetes提供了Service资源,Service会对提供同一个服务的多个pod进行聚合,并且提供一个统一的入口地址。通过访问Service的入口地址就能访问到后面的pod服务。Service在很多情况下只是一个概念,真正起作用的其实是kube-proxy服务进程,每个Node节点上都运行着一个kub
2022-12-03 18:05:47
555
原创 kubernetes Pod控制器详解
自主式pod:kubernetes直接创建出来的Pod,这种pod删除后就没有了,也不会重建控制器创建的pod:kubernetes通过控制器创建的pod,这种pod删除了之后还会自动重建Pod控制器是管理pod的中间层,使用Pod控制器之后,只需要告诉Pod控制器,想要多少个什么样的Pod就可以了,它会创建出满足条件的Pod并确保每一个Pod资源处于用户期望的目标状态。如果Pod资源在运行中出现故障,它会基于指定策略重新编排Pod。
2022-12-01 18:04:20
294
原创 kubernetes Pod详解
注意,这里的调度是强制的,这就意味着即使要调度的目标Node不存在,也会向上面进行调度,只不过pod运行失败而已。前面的调度方式都是站在Pod的角度上,通过在Pod上添加属性,来确定Pod是否要调度到指定的Node上,其实我们也可以站在Node的角度上,通过在Node上添加污点属性,来决定是否允许Pod调度过来。上一节,介绍了两种定向调度的方式,使用起来非常方便,但是也有一定的问题,那就是如果没有满足条件的Node,那么Pod将不会被运行,即使在集群中还有可用Node列表也不行,这就限制了它的使用场景。
2022-11-30 19:17:05
730
1
原创 kubernetes实战入门之Service Pod
容器中的程序要运行,肯定是要占用一定资源的,比如cpu和内存等,如果不对某个容器的资源做限制,那么它就可能吃掉大量资源,导致其它容器无法运行。3 如果command没写,但args写了,那么Dockerfile中配置的ENTRYPOINT的命令会被执行,使用当前args的参数。2 如果command写了,但args没有写,那么Dockerfile默认的配置会被忽略,执行输入的command。在上面的属性中,spec是接下来研究的重点,继续看下它的常见子属性。可以通过上面两个选项设置资源的上下限。
2022-11-29 18:34:59
347
原创 kubernetes资源管理
在kubernetes中,所有的内容都抽象为资源,用户需要通过操作资源来管理kubernetes。(1)kubernetes的本质上就是一个集群系统,用户可以在集群中部署各种服务,所谓的部署服务,其实就是在kubernetes集群中运行一个个容器,并将指定的程序跑在容器中。(2)Kubernetes的最小管理单元是pod,而不是容器,所以只能将容器放在pod中,而kubernetes一般也不会直接管理pod,而是通过pod控制器来管理pod。
2022-11-18 11:21:17
186
原创 kubernetes集群环境搭建
2、Kubeadm:一个用于快速搭建kubernetes集群的工具,https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/3、二进制包:从官网下载每个组件的二进制包,依次去安装,此方式对于理解kubernetes组件更加有效,https://github.com/kubernetes/kubernetes。多主多从:多台master节点和多台node节点,搭建麻烦,安全性高,适用于生产环境。
2022-11-17 14:42:40
1913
原创 Kubernetes简介
Kubernetes官网kubernetes基本概念Kubernetes(简称 K8S) 的出现是容器化技术发展的必然结果,容器化是应用程序级别的虚拟化,运行单个内核上有多个独立的用户空间实例,这些实例就是容器;容器提供了将应用程序的代码、运行时、系统工具、系统库和配置打包到一个实例中的标准方法,而且容器是共享一个内核的;
2022-11-16 11:18:44
353
原创 Ansible-角色部署haproxy高可用
先在ansible节点yum安装haproxy复制他的haproxy.cfg,编写模板文件。使用haproxy角色部署haproxy。通过httpd角色部署web站点。
2022-11-08 16:00:26
292
原创 Ansible-角色部署LAMP
通过apache角色配置httpd服务。通过mysql角色配置mysql。调用php角色配置php。先编写tasks任务。调用apache角色。
2022-11-07 14:38:29
512
原创 RHCE题库实例详解
从 http://content.example.com/user_list.yml 下载要创建的用户的列表,并将它保存到 /home/student/ansible。从 http://content.example.com/salaries.yml 下载 Ansible 库到 /home/student/ansible。将一个初始模板文件从http://content.example.com/hosts.j2下载到/home/student/ansible。
2022-11-05 17:58:30
1831
原创 Ansible角色
借助编写好的角色,可以从playbook中向角色传递调整其行为的变量,设置所有站点相关的主机名、IP地址、用户名,或其他在本地需要的具体详细信息。顶级目录定义角色本身的名称。除了将角色包含在play的roles部分中外,也可以使用普通任务将角色添加到play中,使用include_role模块可以动态包含角色,使用import_role模块可以静态导入角色。Vars: 此目录的main.yml文件定义角色的变量值,这些变量通常用于角色内部用途,这些变量的优先级较高,在playbook中使用时不应更改。
2022-11-03 18:31:30
243
原创 Ansible-playbook的优化
比如一个play具有10台受控主机,我们forks的值为5,那么,首先前5台主机,同时运行第一个play,当这5台主机运行完成第一个play后,后5台主机同时运行第一个play,等到10台主机运行完成第一个play时,才开始运行第二个play,以此类推。比如说,我们受控主机比较少的情况下,我们建议是使用静态主机清单的,但当我们处于一个大型的环境下,受控主机非常非常多的时候,而且受控主机更替非常快的时候,我们使用静态主机清单就很难来管理了,我们使用动态的主机清单更便于我们管理了。这非常适用于小型主机列表。
2022-11-02 13:49:30
949
原创 Ansible循环+判断
block/rescue/always: 限制性block,如果执行失败,则执行rescue,无论是block还是rescue执行失败还是成功,在最后都执行always。Skip/skipped:通过任务的返回信息判断执行状态,当任务没有满足条件,而被跳过执行,则返回真。给所有的受控主机创建分区,创建2500M的分区,然后对分区进行格式化,格式化为xfs的文件系统。Failure/failed:通过执行任务的返回信息判断执行状态,任务执行失败则返回真。
2022-10-31 19:00:10
496
原创 Ansible变量
ansible中定义变量的方式有很多种,大致有:(1) 将模块的执⾏结果注册为变量;(2) 直接定义字典类型的变量;(3) role中⽂件内定义变量;(4) 命令⾏传递变量;(5) 借助with_items迭代将多个task的结果赋值给⼀个变量;(6) inventory中的主机或主机组变量;(7) 内置变量。
2022-10-26 15:20:29
2795
原创 ansible-playbook剧本
每个play都包含⼀个hosts和⼀个tasks,hosts定义的是inventory中待控制的主机,tasks下定义的是⼀系列task任务列表,⽐如调⽤各个模块。需要注意的是,虽然只有被筛选出来的主机会执⾏对应的task,但是所有主机(此处的所有主机表⽰的是,hosts选项所指定的那些主机)都会收到相同的task指令,所有主机收到指令后,ansible主控端会筛选某些主机,并通过ssh在远程执⾏任务。5、如果html中的时间发生变化,那么创建/tmp/kk的文件。3、在/www创建一个文件html。
2022-10-25 14:54:52
510
原创 Linux进程管理命令
在左窗口中,使用从jobs列表中确定的作业ID使作业进入前台,然后使用ctrl+z暂停该作业,确认"rock"进程为已停止。11.停止剩余的两个作业。由于从睡眠返回的任务可能会重新调度到不同的CPU,难以精确的每CPU计数,但累计数的准确度可以保障。//当只有一个后台作业时,直接使用fg命令,不跟任何参数即可将后台作业调至前台运行,但是当有多个作业时则必须跟上%+作业号,也就是上面命令执行结果中以[]括起来的数字。在左窗口中,使作业进入前台,然后使用ctrl+c终止该作业,确认"paper"进程已经消失。
2022-10-24 12:00:00
1804
原创 ansible配置文件介绍
Ansible配置以ini格式存储配置数据,在Ansible中⼏乎所有配置都可以通过Ansible的Playbook或环境变量来重新赋值。清单定义ansible将要管理的一批主机。组可以包含子组,主机也可以是多个组的成员。清单还可以设置应用到它所定义的主机和组的变量。playbook中使用的角色的位置包括/home/student/ansible/roles。主机清单文件为/home/student/ansible/inventory。/etc/ansible有以下三个文件或者目录生成。
2022-10-21 11:34:53
892
原创 Ansible的介绍与安装
Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。Ansible是一款开源自动化平台,它是一种简单的自动化语言,能够在ansible playbook中完美地描述IT应用基础架构。它也是一个自动化引擎,可运行ansible playbook。Ansible功能很强大,可以利用ansible部署应用,也可将它用于配置管理、工作流自动化和网络自动化。Ansible可以用于编排整个应用生命周期。
2022-10-20 12:47:50
963
原创 Nginx反向代理和负载均衡
说到代理,首先我们要明确一个概念,所谓代理就是一个代表、一个渠道;此时就设计到两个角色,一个是被代理角色,一个是目标角色,被代理角色通过这个代理访问目标角色完成一些任务的过程称为代理操作过程;如同生活中的专卖店~客人到某达斯专卖店买了一双鞋,这个专卖店就是代理,被代理角色就是某达斯厂家,目标角色就是用户。
2022-10-19 12:51:07
1891
2
原创 Nginx------nginx-rewrite、if、浏览器分离、防盗链
例如http://www.cy.com/abc/aa/index.php?了解防盗链的原理之前,我们得先学习一个HTTP的头信息Referer,当浏览器向web服务器发送请求的时候,一般都会带上Referer,来告诉浏览器该网页是从哪个页面链接过来的。客户端使用浏览器访问–http://www.haha1.com—我们会发现自动跳转到新的域名www.haha.com中。再次浏览器访问访问,路径不变http://192.168.40.99/haha/hehe.jpg。
2022-10-14 17:57:23
1262
原创 nginx访问控制
将CA签署的证书httpd.crt和服务器的证书cacert.pem发送给nginx。配置nginx(注意auth_basic_user_file必须用绝对路径)nginx访问控制,要求只允许自己真实机进行访问nginx的状态页面。Allow:设定允许哪台或哪些主机访问,多个参数间用空格隔开。这里的密码为加密后的密码串,建议用htpasswd来创建文件。Deny:设定禁止那台或哪些主机访问,多个参数间用空格隔开。在nginix中生成证书签署请求,发送给CA。CA签署证书并发送给NGINX。
2022-10-13 16:01:05
720
原创 Nginx平滑升级和location案例
允许根据用户请求的URI来匹配定义的各个location,匹配时,此请求将被相应的location配置块中的配置所处理,例如做访问控制等功能。3、重新编译软件,加上–add-module=新模块的解压路径。比较没有修饰符的精确匹配和带有“~*”`修饰符的匹配优先级。先查看升级前和升级后的版本区别,主要看编译参数。比较带有“=”的和没有修饰符的精确匹配优先级。比较带有“~”的和没有修饰符的精确匹配优先级。备份源程序并停止、覆盖、启动服务。比较带有“~”的和“=”优先级。停止、备份、覆盖、启动程序。
2022-10-12 11:57:07
725
原创 LNMP部署
在nginx节点操作,整合nginx和php。创建数据库存放目录,配置环境变量。关闭三台防火墙和selinux。配置yum源配置yum源。配置mysql主配置文件。创建nginx服务用户。创建mysql服务用户。测试nginx配置文件。
2022-10-11 13:55:55
542
原创 nginx安装
Nginx 是一款轻量级的网页服务器、反向代理服务器以及电子邮件(IMAP/POP3)代理服务器。此软件在 BSD-like 协议下发行,可以在UNIX、GNU/Linux、BSD、Mac OS X、Solaris,以及Microsoft Windows等操作系统中运行。Nginx 具有高并发(特別是静态资源)、 占用系统资源少等特性。而在功能应用方面,Nginx 不但是一个优秀的 Web 服务软件,同时还具有反向代理、负载均衡以及缓存服务功能。
2022-10-10 14:01:46
675
原创 keepalived-通过zabbix监控是否发生脑裂
在高可用(HA)系统中,当联系2个节点的“心跳线”断开时,本来为一整体、动作协调的HA系统,就分裂成为2个独立的个体。两个节点上的HA软件像“裂脑人”一样,争抢“共享资源”、争起“应用服务”,就会发生严重后果——或者共享资源被瓜分、两边“服务”都起不来了;(3)设置仲裁机制。不仅“心跳”、还兼对外“服务”的本端网络链路断了,即使启动(或继续)应用服务也没有用了,那就主动放弃竞争,让能够ping通参考IP的一端去起服务。(1)添加冗余的心跳线,例如:双心跳线(心跳线也HA),尽量减少“裂脑”发生几率;
2022-10-09 19:18:55
776
原创 keepalived高可用
Keepalived高可用是通过 VRRP 进行通信的, VRRP是通过竞选机制来确定主备的,主的优先级高于备,因此,工作时主会优先获得所有的资源,备节点处于等待状态,当主挂了的时候,备节点就会接管主节点的资源,然后顶替主节点对外提供服务。在 Keepalived 服务之间,只有作为主的服务器会一直发送 VRRP 广播包,告诉备它还活着,此时备不会枪占主,当主不可用时,即备监听不到主发送的广播包时,就会启动相关服务接管资源,保证业务的连续性.接管速度最快可以小于1秒。
2022-10-08 13:49:09
549
原创 KVM虚拟化
虚拟化:在一台计算机上虚拟出多个逻辑的计算机,而且每个逻辑计算机它可以是不同操作系统虚拟化技术:可以扩大硬件容量,单个cpu模拟出多个cpu并行,允许一个平台上同时运行多个操作系统,应用程序都可以在相互独立的空间内运行,而且互不影响。为什么企业使用虚拟化技术1、节约成本2、提高效率物理机我们一般称为宿主机(Host),宿主机上面的虚拟机称为客户机(Guest)。那么 Host 是如何将自己的硬件资源虚拟化,并提供给 Guest 使用的呢?
2022-10-02 18:05:50
702
原创 Jenkins
Jenkins是一个开源CI&CD软件、提供友好操作界面的持续集成(CI)工具;起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行;Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行;通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具:SVN、GIT构建工具有:Maven、Ant、GradleJenkins官网。
2022-09-29 21:30:03
324
原创 lvs负载均衡之配置lvs-tun模式的httpd负载集群
LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中。
2022-09-28 18:03:52
768
原创 lvs负载均衡之配置lvs-dr模式的httpd负载集群
LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中。
2022-09-28 17:08:37
631
原创 haproxy
HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。HAProxy实现了一种事件驱动**, **单一进程模型,此模型支持非常大的并发连接数。
2022-09-27 13:32:30
529
原创 Tomcat
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
2022-09-27 11:58:06
641
原创 lvs负载均衡之配置lvs-nat模式的httpd负载集群---http和https
LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中。
2022-09-26 19:05:56
1144
原创 cobbler自动部署安装虚拟机
Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等。Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用。Cobbler是较早前的kickstart的升级版,优点是比较容易配置,还自带web界面比较易于管理。
2022-09-23 13:04:40
652
原创 cobbler手动部署安装虚拟机
Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等。Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用。Cobbler是较早前的kickstart的升级版,优点是比较容易配置,还自带web界面比较易于管理。
2022-09-23 12:37:09
304
原创 rsync+inotify
rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。
2022-09-22 20:25:10
288
原创 部署gitlab
版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。版本控制最主要的功能就是追踪文件的变更。它将什么时候、什么人更改了文件的什么内容等信息如实地了记录下来。每一次文件的改变,文件的版本号都将增加。除了记录版本变更外,版本控制的另一个重要功能是并行开发。软件开发往往是多人协同作业,版本控制可以有效地解决版本的同步以及不同开发者之间的开发通信问题,提高协同开发的效率。
2022-09-22 18:15:12
254
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人