自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux实战笔记-----redis

一、redis安装配置实验环境为三台主机,其中server1为master端,server2,3为slave,均安装redis,首先准备redis安装包tar zxf redis-6.2.1.tar.gzcd redis-6.2.1makemake install./install_server.sh 发现安装失败,提示使用systemd注释掉安装文件的systemdvim /root/redis-6.2.1/utils/install_server.sh 重新安装,成功启动

2021-09-19 17:49:19 929

原创 Linux实战笔记-----mysql数据库主从复制

一、mysql安装部署可以直接从官网下载解压mysql安装包tar zxf mysql-boost-5.7.31.tar.gz 下载gcc gcc-c++ 及cmakeyum install gcc gcc-c++ cmake -y配置安装cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DWITH_I

2021-09-12 16:26:02 194

原创 Linux实战笔记-----memcache

一、源码编译安装php准备好php安装包,安装bzip2包解压工具bzip2tar jxf php-7.4.12.tar.bz2 解压后进入文件夹按照功能要求安装相关依赖性文件yum install systemd-devel libxml2-devel.x86_64 sqlite-devel.x86_64 libcurl-devel.x86_64 libpng-devel.x86_64 oniguruma-devel-6.8.2-1.el7.x86_64.rpm oniguruma-6.8.

2021-09-11 14:31:52 197

原创 Linux实战笔记-----lamp架构之nginx源码编译

一、源码编译安装nginx安装gcc pcre依赖性 openssl依赖性yum install -y gcc pcre-devel openssl-devel解压nginx安装包,定制安装tar zxf nginx-1.20.1.tar.gzcd nginx-1.20.1查看编译帮助./configure --help安装常用功能./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-h

2021-09-11 09:52:03 149

原创 Linux学习笔记-----ansible变量及加密

1.变量命名只能包含数字,下划线,字母只能用下划线或字母开头2.变量级别全局: 从命令行或配置文件中设定的paly: 在play和相关结构中设定的主机: 由清单,事实收集或注册的任务优先级:主机>play>全局变量优先级设定:狭窄范围优先于广域范围3.变量设定和使用方式1.playbook中直接定义变量并使用---- name: test hosts: westos vars: westos: hello westos

2021-08-25 09:59:55 89

原创 Linux学习笔记-----Ansible中playbook

一、Playbook的功能playbook 是由一个或多个play组成的列表Playboot 文件使用YAML来写的二、Playbook的核心组件name 可选,建议使用多用于说明hosts 受控主机列表tasks 任务,用于选择执行部分代码三、基本示例1.配置vsftpd---- name: configure vsftpd hosts: westos tasks: - name: install vsftpd dnf :

2021-08-24 10:00:04 73

原创 Linux学习笔记-----Ansible常用模块

一、 ansible实现管理的方式Ad-Hoc ##利用ansible命令直接完成管理,主要用于临时命令使用场景playbook ##ansible脚本,主要用于大型项目场景,需要前期的规划二、Ad-Hoc执行方式中如何获得帮助ansible-doc ##显示模块帮助的指令-l ##列出可用模块-s ##显示指定模块的playbook片段三、ansible常用命令 --version ##显示版本 -m module ##指定模块,默认为command模块 -v ##详细

2021-08-21 16:19:26 252

原创 Linux学习笔记-----Ansible配置部署

一、Ansible安装部署需要两台rhel8.2系统的主机,分别命名为westos_ansible,westos_node1ansible主机需配置好本地镜像后,再为westos_ansible添加epel源dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -ydnf repolist安装ansiblednf install -y ansible.noarch查看版本a

2021-08-20 16:08:19 216

原创 Linux实战笔记-----Prometheus实现k8s集群动态伸缩

添加prometheus-adapter插件helm search repo prometheus-adapter #网上搜索adapterhelm pull apphub/prometheus-adapter #拉取tar zxf prometheus-adapter-2.1.1.tgz #解压cd prometheus-adapter/ #进入解压后的目录修改镜像为本地仓库vim values.yaml修改ingress解析地址安装helm i

2021-08-12 23:03:28 124

原创 Linux学习笔记-----git及gitlab代码仓库

二.git的使用安装Gityum install -y git获取 Git 仓库通常有两种方式:将尚未进行版本控制的本地目录转换为 Git 仓库从其它服务器克隆 一个已存在的 Git 仓库。比如: git clone初始化版本库mkdir democd demo/建立gitgit initcd .git/检查当前文件状态git statusgit status -s 设置用户名和邮箱git config --global user.name "xxx"git co

2021-08-12 09:00:46 188

原创 无k8s集群Prometheus安装

准备go语言安装包,普罗米修斯安装包,解压tar zxf go1.8.3.linux-amd64.tar.gz -C /usr/local/tar zxf prometheus-2.3.2.linux-amd64.tar.gz -C /usr/local/

2021-08-07 00:02:56 119

原创 Linux实战笔记-----为Helm提供web UI界面管理

拉取包并解压,拉取镜像并上传到harbor仓库:helm pull bitnami/kubeapps --version 7.2.0server2解压资源包后,在values.yaml文件中查看tar zxf kubeapps-x.x.x.tgzcd kubeappsvim values.yaml修改镜像地址修改ingress状态为开启并添加地址修改chart目录下的values.yaml文件:cd charts/postgresql/vim values.yaml修改镜像为

2021-08-06 23:58:14 271

原创 Linux实战笔记-----Helm部署nfs-client-provisioner

首先要有个纯净的实验环境,将所有pvc、pv、sc 删除干净,拉取nfs-provisioner-v4.0.2镜像,上传至harbor查找nfs-subdir-external-provisioner仓库helm search hub nfs-subdir-external-provisioner添加nfs-subdir-external-provisioner 到repohelm repo add nfs-subdir-external-provisioner https://kubernet

2021-08-06 10:23:21 496

原创 Linux实战笔记-----HELM

一、HELM简介Helm是Kubernetes 应用的包管理工具,主要用来管理 Charts,类似Linux系统的yum。Helm Chart 是用来封装 Kubernetes 原生应用程序的一系列 YAML 文件。可以在你部署应用的时候自定义应用程序的一些 Metadata,以便于应用程序的分发。对于应用发布者而言,可以通过 Helm 打包应用、管理应用依赖关系、管理应用版本并发布应用到软件仓库。对于使用者而言,使用 Helm 后不用需要编写复杂的应用部署文件,可以以简单的方式在 Kubernet

2021-08-05 11:12:45 502

原创 Linux实战笔记-----HPA实例

1、单一限制server1准备好hpa-exmple,可从官网拉取docker pull mirrorgooglecontainers/hpa-exampledocker tag mirrorgooglecontainers/hpa-example reg.westos.org/library/hpa-exampledocker push reg.westos.org/library/hpa-exampleserver2在这里插入代码片...

2021-08-04 15:56:28 211

原创 Linux实战笔记-----kubernetes资源监控

一、Metrics-Server部署Metrics-Server简介:Metrics-Server是集群核心监控数据的聚合器,用来替换之前的heapster。2.容器相关的 Metrics 主要来自于 kubelet 内置的 cAdvisor服务,有了Metrics-Server之后,用户就可以通过标准的 Kubernetes API 来访问到这些监控数据。3.MetricsAPI 只可以查询当前的度量数据,并不保存历史数据。 Metrics API URI 为 /apis/metrics.

2021-08-04 10:52:29 123

原创 Linux实战笔记-----kubernetes容器资源限制

一、k8s容器资源限制Kubernetes采用request和limit两种限制类型来对资源进行分配:1、request(资源需求):即运行Pod的节点必须满足运行Pod的最基本需求才能运行Pod。2、limit(资源限额):即运行Pod期间,可能内存使用量会增加,那最多能使用多少内存,这就是资源限额。资源类型:1、CPU 的单位是核心数,内存的单位是字节。2、一个容器申请0.5个CPU,就相当于申请1个CPU的一半,你也可以加个后缀m 表示千分之一的概念。比如说100m的CPU,100豪的CP

2021-08-03 17:18:50 247

原创 Linux实战笔记-----Kubenetes访问控制

kubernetes访问控制简介:访问控制分为三种1.Authentication(认证)• 认证方式现共有8种,可以启用一种或多种认证方式,只要有一种认证方式通过,就不再进行其它方式的认证。通常启用X509 Client Certs和Service Accout Tokens两种认证方式。• Kubernetes集群有两类用户:由Kubernetes管理的Service Accounts (服务账户)和(Users Accounts) 普通账户。k8s中账号的概念不是我们理解的账号,它并不

2021-08-03 15:50:23 167

原创 Linux实战笔记-----kubernetes调度

一、调度器简介调度器通过 kubernetes 的 watch 机制来发现集群中新创建且尚未被调度到Node 上的 Pod。调度器会将发现的每一个未调度的 Pod 调度到一个合适的 Node上来运行。kube-scheduler 是 Kubernetes 集群的默认调度器,并且是集群控制面的一部分。如果你真的希望或者有这方面的需求,kube-scheduler 在设计上是允许你自己写一个调度组件并替换原有的 kube-scheduler。在做调度决定时需要考虑的因素包括:单独和整体的资源请求、

2021-08-01 16:40:57 101

原创 Linux实战笔记-----动态pv,statefulset

Nfs动态分配pvStorageClass提供了一种描述存储类(class)的方法,不同的class可能会映射到不同的服务质量等级和备份策略或其他策略等。每个 StorageClass 都包含 provisioner、parameters 和 reclaimPolicy 字段, 这些字段会在StorageClass需要动态分配 PersistentVolume 时会使用到。StorageClass的属性Provisioner(存储分配器):用来决定使用哪个卷插件分配 PV,该字段必须指定。可以指定

2021-08-01 15:39:02 210

原创 Linux实战笔记-----k8s存储之configMap管理、Secret管理和Volumes管理

一、Configmap配置管理简介:• Configmap用于保存配置数据,以键值对形式存储。• configMap 资源提供了向 Pod 注入配置数据的方法。• 旨在让镜像和配置文件解耦,以便实现镜像的可移植性和可复用性。典型的使用场景:• 填充环境变量的值• 设置容器内的命令行参数• 填充卷的配置文件创建ConfigMap的方式有4种:• 使用字面值创建• 使用文件创建• 使用目录创建• 编写configmap的yaml文件创建1.使用字面值指定创建kubectl crea

2021-08-01 11:36:52 579

原创 Linux实战笔记-----通过Ingress-nginx实现负载均衡

一、ingress简介Ingress是一个API对象,和其他对象一样,通过yaml文件来配置。ingress通过http或https暴露集群内部service,给service提供外部URL、负载均衡、SSL/TLS能力以及基于host的方向代理。1.Ingress安装官网下载yaml文件wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.47.0/deploy/static/provider/b

2021-07-30 17:48:57 902

原创 Linux实战笔记-----k8s网络通信

一、K8S网络通信简介k8s是通过CNI接口接入插件来实现网络通讯的。目前较为流行的插件有flannel、calico等。插件存放位置在/etc/cni/net.d/,因此更改、重置网络插件都需要将这个目录下的文件清空。插件主要工作解决方案如下:1.多个容器共用一个虚拟网卡,使用虚拟网桥和虚拟网卡进行通信。2.多个容器共用一个物理网卡进行通信,在二层使用Mac地址。3.一个物理网卡可以虚拟机出多个接口,硬件交换的方式实现,此方法性能最优,但是成本也高。主要通信包括:容器间通信:同一个pod

2021-07-30 14:08:04 289

原创 Linux实战笔记-----service

一、service简述Service可以看作是一组提供相同服务的Pod对外的访问接口。借助Service,应用可以方便地实现服务发现和负载均衡。service默认只支持4层负载均衡能力,没有7层功能。(可以通过Ingress实现)类型:ClusterIP:默认值,k8s系统给service自动分配的虚拟IP,只能在集群内部访问。NodePort:将Service通过指定的Node上的端口暴露给外部,访问任意一个NodeIP:nodePort都将路由到ClusterIP。LoadBalance

2021-07-29 17:32:22 130

原创 Linux实战笔记-----Pod生命周期、控制器

一、pod生命周期Pod 可以包含多个容器,应用运行在这些容器里面,同时 Pod 也可以有一个或多个先于应用容器启动的 Init 容器。Init容器与普通的容器非常像,除了如下两点:它们总是运行到完成。Init 容器不支持 Readiness,因为它们必须在 Pod 就绪之前运行完成。每个 Init 容器必须运行成功,下一个才能够运行。如果 Pod 的 Init 容器失败,Kubernetes 会不断地重启该 Pod,直到 Init 容器成功为止。然而,如果 Pod 对应的 rest

2021-07-29 10:47:39 353

原创 Linux实战笔记-----Pod管理、资源清单

一、Pod管理1.pod负载均衡从本地Harbor仓库拉取myapp创建Pod应用,显示Pod的信息,测试这个Pod应用kubectl run demo --image=myapp:v1kubectl get pod -o widecurl 172.25.13.2删除Pod,创建一个名为demo的deployment,运行myapp:v1镜像kubectl delete pod demokubectl create deployment demo --image=myapp:v1 -

2021-07-28 14:51:13 217

原创 Linux实战笔记-----Docker三剑客之Docekr machine

一、Docker Machine简介Docker Machine 是 Docker 官方编排(Orchestration)项目之一,负责在多种平台上快速安装 Docker 环境。Docker Machine 项目基于 Go 语言实现的,支持在常规Linux操作系统、虚拟化平台、openstack、公有云等不同环境下安装配置docker host。Docker Machine操作server1安装将准备好的二进制文件移动到/usr/local/bin/docker-machine,并添加执行权限,使用

2021-07-28 13:09:19 86

原创 Linux实战笔记-----Docker安全、容器资源控制

一、Docker安全Docker容器的安全性,很大程度上依赖于Linux系统自身,评估Docker的安全性时,主要考虑以下几个方面Linux内核的命名空间机制提供的容器隔离安全Linux控制组机制对容器资源的控制能力安全Linux内核的能力机制所带来的操作权限安全Docker程序(特别是服务端)本身的抗攻击性其他安全增强机制对容器安全性的影响。命名空间隔离的安全当docker run启动一个容器时,Docker将在后台为容器创建一个独立的命名空间。命名空间提供了最基础也最直接的隔离。与虚

2021-07-28 13:09:02 207

原创 Linux实战笔记-----Docker数据卷

Docker数据卷管理为什么要用数据卷?docker分层文件系统 性能差 生命周期与容器相同docker数据卷 mount到主机中,绕开分层文件系统,和主机磁盘性能相同,容器删除后依然保留 仅限本地磁盘,不能随容器迁移docker提供了两种卷: bind mount docker,managed volumebind mount是将主机上的目录或文件mount到容器里。使用直观高效,易于理解。使用 -v 选项指定路径,格式 host path:container path进入/opt

2021-07-28 13:08:37 121

原创 Linux实战笔记-----Habor仓库搭建

!直接安装会报错,缺少依赖性需要docker-compose文件且版本高于1.18.0,改名后对其加权并挪至/usr/bin/下先不执行安装程序,生成密钥签证创建私有仓库镜像签名

2021-07-22 16:44:57 181

原创 Linux实战笔记-----Docker镜像建立及优化

一、镜像的分层结构共享宿主机的kernelbase镜像提供的是最小的Linux发行版同一docker主机支持运行多种Linux发行版采用分层结构的最大好处是:共享资源Copy-on-Write 可写容器层容器层以下所有镜像层都是只读的docker从上往下依次查找文件容器层保存镜像变化的部分,并不会对镜像本身进行任何修改一个镜像最多127层二、镜像的制作创建1.交互式shell制作镜像导入busysbox包docker load -i busybox.tar创建一个新的容器并交

2021-07-22 13:31:57 232

原创 Linux学习笔记-----Docker容器安装部署

一、Docker安装及使用查看docker信息,无警告将超级马里奥压缩包传入本地docker中docker load -i mario.tar查看镜像docker images部署运行,ctrl + p + q 将容器打入后台,不退出docker run -d --name demo -p 80:8080 mario访问虚拟机ip打开超级马里奥游戏即可删除容器中镜像cd /etc/sysctl.ddocker rmi mario:latest查看三、dock

2021-07-22 10:17:24 202 1

原创 Linux实战笔记-----Saltstack配置Zabbix

用server1给server2部署zabbixserver1中cd /srv/saltmkdir zabbix-servercd zabbix-servervim init.slszabbix-server: pkgrepo.managed: - name: zabbix - humanname: zabbix 4.0 - baseurl: http://172.25.30.250/4.0 - gpgcheck: 0 pkg.installed:

2021-07-18 18:21:57 96

原创 Linux实战笔记----Saltsatck(一)

一、Saltstack部署实验环境:三台虚拟机server1(master端)、server2(minion端)、server3(minion端),yum源zabbix库,saltstack库配置参见往期server1中yum install -y salt-master.noarchsystemctl enable --now salt-masterserver2 server3中yum install -y salt-minion.noarchcd /etc/salt/vim mi

2021-07-18 17:16:57 290 1

原创 Linux实战笔记-----Zabbix监控安装配置(下)

nginx编译使用在server2上进行tar zxf nginx-1.20.1.tar.gzcd nginx-1.20.1 安装编译依赖yum install gcc -yyum install -y pcre-develyum install -y openssl-devel.x86_64关闭c语言编译debugvim ~/nginx-1.20.1/auto/cc/gcc指定编译路径及功能模块./configure --prefix=/usr/local/nginx -

2021-07-16 16:59:37 127 1

原创 Linux实战笔记-----Zabbix监控安装配置(上)

一、Zabbix简介Zabbix 软件能够监控众多网络参数和服务器的健康度、完整性。Zabbix 使用灵活的告警机制,允许用户为几乎任何事件配置基于邮件的告警。这样用户可以快速响应服务器问题。Zabbix 基于存储的数据提供出色的报表和数据可视化功能。这些功能使得 Zabbix 成为容量规划的理想选择。Zabbix 支持主动轮询(polling)和被动捕获(trapping)。Zabbix所有的报表、统计数据和配置参数都可以通过基于 Web 的前端页面进行访问。基于 Web 的前端页面确保您可以在任何

2021-07-16 12:38:03 122

原创 Linux学习笔记-----虚拟机封装

母磁盘虚拟机安装配置准备rhel7.6镜像文件,挂在httpd目录中使用本地镜像文件进行虚拟机安装

2021-07-16 10:53:56 90

原创 Linux学习笔记-----系统中的软件管理

一、系统中的软件包类型1.DEB #UBlinux DEBlinux2.RPM #redhat centOS fadora3.bz2|gz|xz #1.需要源码安装需要编译#2.绿色软件,直接可用#ntfs-3g_ntfsprogs-2017.3.23.tgz 需要编译 “configure”#Firefox-latest-x86_64.tar.bz2 绿色注意在rhel8中只能使用绿色软件,源码编译软件和rpm软件软件包的名称结构[dhcp-server]-[4

2021-04-30 16:40:52 95

原创 Linux学习笔记-----系统中的日志管理

实验环境一号姬192.168.75.128二号姬192.168.75.129防火墙关闭一、 journald服务名称:systemd-journald.service journalctl存放路径:/run/log1.journalctl命令的用法journalctl-n 3 ##日志的最新3条--since "2020-05-01 11:00:00" ##显示11:00后的日志--until "2020-05-01 11:05:00" ##显示日志到11:05-o ##设定日志

2021-04-27 15:46:32 82

原创 Linux学习笔记-----Linux中的进程管理

一、进程定义1.定义:程序是静态的代码文件,进程是指程序运行时的形态,也是程序的一个副本,进程有生命周期(准备期,运行期,终止期)2.进程与线程的区别进程是资源调动的最小单位,线程是进程的最小单位程序执行流是从上到下贯穿运行的当进程是多任务,cpu是多核心,多任务应该同时被每个核心处理,每个核心处理的任务叫线程,线程资源是共享的3.进程状态R(TASKING_RUNNING) 可执行态S(TASK_INTRRUPATABLE) 可唤醒休眠D(TASK_UNINTRRUPTA

2021-04-22 20:49:28 86

空空如也

空空如也

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

TA关注的人

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