k8s--集群搭建
Kubernetes介绍官网:https://kubernetes.io/
一、应用部署方式演变1、传统部署:互联网早期,会直接将应用程序部署在物理机上优点:简单,不需要其他技术的参与缺点:不能为应用程序定义资源使用边界,很难合理地分配计算资源,而且程序之间容器产生影响
2、虚拟化部署:可以在一台物理机上运行多个虚拟机,每个虚拟机都是独立的一个环境优点:程序环境不会相互产生影响,提供了一定程度的安全性缺点: 增加了操作系统,浪费了部分资源
3、容器化部署:与虚拟化类似,但是共享了操作系统优点:可以保证每个容器拥有自己的文件系统、CPU、内存、进程空间等。运行应用程序所需要的资源都被容器包装,并和底层基础架构解耦。容器化的应用程序可以跨云服务商、跨Linux操作系统发行版进行部署。
容器化部署方式给带来很多便利,但是也会出现一些问题,比如说:(1)一个容器故障停机了,怎么样让另外一个容器立刻启动去替补停机的容器(2)当并发访问量变大的时候,怎么样做到横向扩展容器数量这些容器管理的问题统称为容器编排问题,为了解决这些容器编排问题,就产生了一些容器编排的软件:Swarm:docker自己的容 ...
shell脚本--文本处理三剑客
一、grepgrep----过滤、筛选
grep "字符串"
grep -v "字符串"
grep ^"字符串" 以....开头
grep "字符串"$
grep ^$ 空行
grep -i 不区分大小写
grep -o 只显示匹配的部分
二、sed123456789 sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”,接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容发送往屏幕。然后读入下行,执行下一个循环。 如果没有诸如“D”的特殊命令,那会在两个循环之间清空模式空间,但不能清除保留空间。这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出或-i。选项-n 不打印模式空间-e 执行脚本、表达式来处理-f 执行动作从文件读取执行-i 修改原文件-r 使用扩展正则表达式
命令12345678910111213141516171819s/regexp/replace/ 替 ...
shell脚本--正则表达式
一、概述1、概念正则表达式是你所定义的模式模板, Linux工具可以用它来过滤文本。 Linux 工具(比如sed编辑器或gawk程序)能够在处理数据时使用正则表达式对数据进行模式匹配。如果数据匹配模式,它就会被接受并进一步处理;如果数据不匹配模式,它就会被滤掉。
数据流–正则表达式—(1)匹配的数据 (2)滤掉的数据
正则表达式(或称Regular Expression,简称RE),是用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的分割,匹配、査找及替换操作。即正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串
简单来说就是通过一些特殊字符的排序,用以删除、查找、替换一行或者多行文字字符串的程序。
2、作用通常用于判断语句中,用来检查某一字符串是否满足某一格式正则表达式是由普通字符与元字符组成普通字符包括大小写字母、数字、标点符号及一些其他符号元字符是指在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式
3、可达到的目的给定一个正则表达式和另一个字符串,我们可以达到如下的目的:(1)给定的字 ...
shell脚本--循环、函数
一、循环语句1、for循环详解 for循环语句允许脚本一次性读取多个信息,然后逐一对信息进行操作处理。当要处理的数据有范围时,使用for循环语句就再适合不过了。
读取不同的变量值,用来逐个执行同一组命令
语法:for 变量名 in 取值列表do 命令序列(命令行)done
示例1: 下面使用for循环语句从列表文件中读取多个用户,然后为其逐一创建用户账户并设置密码。首先创建用户名称的列表文件users.txt,每个用户名称单独一行。
123456[root@node1 ~]# vim user.txtmarrytomrosemike
接下来编写shell标本addusers.sh。在脚本中使用read命令读取用户输入的密码值,然后赋值给PASSWD变量,并通过-p参数向用户显示一段提示信息,告诉用户正在输入的内容即将作为账户密码。
1234567891011121314151617181920212223242526[root@node1 ~]# vim userpasswd.sh#!/bin/bashread -p "enter the user pas ...
shell脚本--部署lamp
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220 ...
shell脚本--判断、if语句
一、判断1、条件测试类型整数测试字符测试文件测试
2、条件测试的表达式[ 条件表达式 ][[ 条件表达式 ]]test 条件表达式
例子:
123456789101112[root@node1 ~]# test -e file && echo true || echo falsefalse[root@node1 ~]# touch file[root@node1 ~]# test -e file && echo true || echo falsetrue[root@node1 ~]# [ -e file ] && echo true || echo falsetrue[root@node1 ~]# [[ -e file ]] && echo true || echo falsetrue[root@node1 ~]# [[ -e file1 ]] && echo true || echo falsefalse
3、整数测试-eq //测试两个整数是否相等-ne / ...
shell脚本--结构、调试、运算符
一、shell脚本基础1、shell编程介绍与特性Shell是种命令解释程序,也可以看作是一种命令语言的解释器。用户在与Shell交互时所输入的命令行必须符合Shell命令的语法和语义规范,才能够被Shell理解并执行。Shell所使用的这种命令语言称为Shell语言。Shell语言不仅仅是一种交互式语言,它还是一种可编程的程序设计语言。
将若干个Shell命令行写入个文件就构成了一个Shell程序,它可以被Shell逐条地解释执行。用Shell语言编写的Shell程序可以使用各种变量、参数和控制结构来组织命令流程,自动化地完成各种复杂冗繁的处理工作。
Linux系统中广泛使用了Shell程序来实现系统的初启、配置、管理和维护等工作。因此,熟练掌握Shell语言可以更加深入地理解系统的运行机制,更加有效地使用和管理系统。
Shell语言的特点: 与其他编程语言相比,Shell语言具有如下特点: (1)Shell是一种解释性语言。这就是说,用Shell语言写的程序不需编译,可以直接由Shell进程解释执行。解释性语言的特点是快捷方便,可以即编即用,但与编译性语言的目标程序来比,解释 ...
nginx + lnmp架构部署
一、nginx简介Nginx是一款轻量级的Web服务器/反向代理服务器及电子(IMAP/POP3)代理服务器。
Nginx由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler使用。
第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
nginx的特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
二、nginx的特性与优点1、nginx特性Nginx是一个很牛的高性能WEB和反向代理服务器,它具有很多非常优越的特性:(1)在高连接并发情况下,nginx是apache服务器不错的替代品,能够支持高达5万个并发连接数的响应
(2)使用epoll and kqueue作为开发模型
(3)Nginx作为负载均衡服务器:nginx既可以在内部直接支持和PHP程序对外进 ...
FTP搭建
环境:两台rockyLinux虚拟机,yum仓库与时钟同步均已配置完成,firewalld与selinux均以关闭;server作为服务器端,client作为客户端。
一、FTP理论FTP:文件传输协议(File Transfer Protocol 简称FTP),采用c/s模式工作控制端口:21数据端口:20
FTP工作原理:1、主动模式 standardFTP客户端从任意一个非特权端口N(N>1024)发送PORT命令给FTP服务端控制端口21,其中PORT命令包含客户端接收数据的端口N+1,此时服务器收到了这条PORT命令,它就会让自己的数据端口20与客户端的数据端口N+1连接。此时如果传输数据的话,就需要服务端与客户端重新建立一个新的连接来传输数据。
2、被动模式 passiveFTP客户端从任意一个非特权端口N(N>1024)发送PASV命令给FTP服务端控制端口21,其中PASV命令包含客户端接收数据的端口N+1,此时服务端会随机开启一个高端端口P(P>1024),并发送PORT命令给客户端,PORT命令包括服务端的数据端口P,然后客户端从数据 ...
Redis哨兵
一、REDIS介绍1、简介为了提高网站响应速度,企业会将热点数据保存在内存中而不是直接从后端数据库中读取。大型网站应用,热点数据往往巨大,几十G上百G是很正常的事,这种情况下,就需要用到缓存服务器,通过缓存服务器承载大部分用户请求,小部分用户请求交给后端服务器处理,如此一来,就可以大大提高用户访问的速度,提升用户使用体验。常用的缓存服务器有:memcacheredis
Redis 是一种开源(BSD 许可)内存中数据结构存储,用作数据库、缓存、消息代理和流引擎。为了实现最佳性能,Redis 使用 内存数据集。根据您的使用案例,Redis 可以通过定期将数据集转储到磁盘或将每个命令附加到基于磁盘的日志来持久保存您的数据。如果您只需要功能丰富的网络内存缓存,您还可以禁用持久性。Redis 支持异步复制,具有快速非阻塞同步和自动重新连接以及网络分割上的部分重新同步。
2、REDIS集群redis集群分类集群是一组相互独立、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群就像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。redis ...