自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux Saltstack 远程部署 zabbix-server

首先准备zabbix-server的安装包及依赖:[root@server1 zabbix]# ls 4.4/apache-tomcat-8.5.24.tar.gz php-pdo-5.4.16-46.el7.x86_64.rpmfping-3.10-1.el7.x86_64.rpm php-xml-5.4.16-46.el7.x86_64.rpmjdk-8u121-linux-x64.rpm

2020-08-24 11:50:52 198

原创 Linux Saltstack salt-ssh salt-syndic salt-api部署

一、salt-ssh简介salt-ssh可以独立运行的,不需要minion端。salt-ssh 用的是sshpass进行密码交互的。以串行模式工作,性能下降,即类似与ansible的模式。二、部署salt-ssh实验前关闭一个minion端:[root@server3 ~]# systemctl stop salt-minion1安装salt-ssh:[root@server1 ~]# yum install -y salt-ssh1配置roster文件,默认的本地路径是 /etc/.

2020-08-23 17:13:49 237

原创 Linux Saltstack Job管理 及 外部缓存数据库的部署

Job管理一、Job简介二、在外部系统中存储Job结果外部工作缓存-小型返回器配置外部缓存数据库minion端的配置测试主Job缓存-master端返回master端部署测试一、Job简介master在下发指令任务时,会附带上产生的jid。minion在接收到指令开始执行时,会在本地的/var/cache/salt/minion/proc目录下产生该jid命名的文件,用于在执行过程中master查看当前任务的执行情况。指令执行完毕将结果传送给master后,删除该临时文件。Job缓存默认保存24小

2020-08-23 17:09:18 224

原创 Linux Saltstack Jinja模板 的使用

一、Jinja模板简介Jinja是一种基于python的模板引擎,在SLS文件里可以直接使用jinja模板来做一些操作。通过jinja模板可以为不同服务器定义各自的变量。两种分隔符: {% ... %} 和 {{ ... }},前者用于执行诸如 for 循环 或赋值的语句,后者把表达式的结果打印到模板上(引用)。二、Jinja模板使用方式使用控制结构包装条件Jinja最基本的用法是使用控制结构包装条件:[root@server1 salt]# vim test.sls[root@server

2020-08-23 17:05:30 169

原创 Linux Saltstack grains与pillar详解

grains与pillar详解一、grains简介信息查询自定义grains项使用grains二、pillar简介声明pillar在文件中使用pillar一、grains简介Grains是SaltStack的一个组件,存放在SaltStack的minion端。当salt-minion启动时会把收集到的数据静态存放在Grains当中,只有当minion重启时才会进行数据的更新。由于grains是静态数据,因此不推荐经常去修改它。应用场景:信息查询,可用作CMDB。在target中使用,匹配.

2020-08-23 17:01:33 138

原创 Linux Saltstack 远程部署nginx

准备源码包:[root@server1 salt]# pwd/srv/salt[root@server1 salt]# lsapache _modules nfs nginx top.sls[root@server1 salt]# cd nginx/[root@server1 nginx]# lsnginx-1.16.1.tar.gz1234567编辑init文件安装依赖性及解压源码包:[root@server1 nginx]# vim init.sls[root@serve.

2020-08-23 16:58:16 123

原创 Linux Saltstack 配置管理

SaltStack自动化运维管理(三)——配置管理1. 了解YAML语法2. 配置管理3. 案例一:安装一个软件包4. 案例二:安装多个软件包5. 案例三:卸载多个软件6. 案例四:不同的节点安装不同的软件包7. 案例五:安装软件包并且进行配置8. 案例六:安装包,配置并且启动服务1. 了解YAML语法规则一: 缩进Salt需要每个缩进级别由两个空格组成,不要使用tabs。规则二: 冒号字典的keys在YAML中的表现形式是一个以冒号结尾的字符串。my_key: my_value规则三: .

2020-08-23 16:55:27 114

原创 Linux Saltstack 远程执行

Saltstack 远程执行一、命令方式二、文件方式编辑远程执行文件编写远程执行模块使用top文件使用入口文件init.sls三、使用saltstack安装配置httpd一、命令方式Salt命令由三个主要部分构成:salt '<target>' <function> [arguments]1target: 指定哪些minion, 默认的规则是使用globe匹配minion id.salt内置的执行模块列表:http://docs.saltstack.cn/ref/modu

2020-08-23 16:51:12 193

原创 Linux Saltstack 简介

Saltstack简介及部署 一、Saltstack简介二、saltstack通信验证机制SaltStack 的通讯架构模型saltstack通信机制Salt minion 验证机制:三、saltstack安装与配置主机准备master主机配置minion端配置配置连接minion端更改主机名后一、Saltstack简介saltstack是一个配置管理系统,能够维护预定义状态的远程节点。saltstack是一个分布式远程执行系统,用来在远程节点上执行命令和查询数据。saltstack是运维人员提高工

2020-08-23 16:48:37 304

原创 Linux Kubernetes Helm之通过kubeapps使用图形部署helm应用

kubernetes Helm之通过kubeapps使用图形部署helm应用一、部署kubeapps二、kubeapps的登陆三、kubeapps的使用添加自己的chart库使用chart部署ingress-nginx应用更新应用应用回滚应用删除kubeapps应用可以为Helm提供web UI界面管理。一、部署kubeapps首先需要添加一个第三方库:[root@server1 helm]# helm repo add bitnami https://charts.bitnami.com/bit.

2020-08-23 16:44:07 484

原创 Linux Kubernetes Helm之使用helm部署ingress-nginx

kubernetes Helm之使用helm部署ingress-nginx一、部署二、测试三、部署加密访问部署前将之前部署的ingress-nginx删除:[root@server1 helm]# kubectl delete namespaces ingress-nginx namespace "ingress-nginx" deleted[root@server1 nginx-ingress]# kubectl get ingress\NAME CLASS HO

2020-08-23 16:41:58 508

原创 Linux Kubernetes Helm之使用helm部署nfs pv

kubernetes Helm之使用helm部署nfs pv实验准备一、部署nfs-client二、创建nfs pv实验准备删除所有的pv和pvc:[root@server1 helm]# kubectl delete pvc --all......[root@server1 helm]# kubectl get pvNo resources found in default namespace.[root@server1 helm]# kubectl get pvcNo resources

2020-08-22 11:15:50 541

原创 Linux Kubernetes Helm之构建一个 Helm Chart

kubernetes Helm之构建一个 Helm Chart一、创建helm chart二、构建本地chart仓库三、安装push插件四、部署应用部署mychart应用到k8s集群更新版本版本回滚卸载应用一、创建helm chart可以使用以下命令来创建一个名为mychart 的 helm chart:[root@server1 helm]# helm create mychartCreating mychart12创建后会在目录创建一个mychart目录:[root@server1 he.

2020-08-21 14:57:30 259

原创 Linux Kubernetes Helm详解及使用helm部署redis高可用集群

kubernetes Helm详解及部署一、Helm二、Helm安装三、Helm仓库的使用四、使用Helm部署redis-ha拉取部署文件解压更改变量文件部署redis高可用集群测试集群高可用集群的动态拉伸一、HelmHelm是Kubernetes 应用的包管理工具,主要用来管理 Charts,类似Linux系统的yum。Helm Chart 是用来封装 Kubernetes 原生应用程序的一系列 YAML 文件。可以在你部署应用的时候自定义应用程序的一些 Metadata,以便于应用程序的分发。对

2020-08-21 14:54:41 857 1

原创 Linux Kubernetes 资源监控 Dashboard v2.0.0 部署与使用

Dashboard v2.0.0 部署与使用一、Dashboard的介绍与部署二、Dashboard的简单使用网页端创建pod网页端删除pod一、Dashboard的介绍与部署Dashboard可以给用户提供一个可视化的 Web 界面来查看当前集群的各种信息。用户可以用 Kubernetes Dashboard 部署容器化的应用、监控应用的状态、执行故障排查任务以及管理 Kubernetes 各种资源。网址:https://github.com/kubernetes/dashboard下载部署文..

2020-08-21 14:52:21 500

原创 Linux Kubernetes 资源监控 Metrics-Server V0.3.6 部署与应用

Metrics-Server V0.3.6 部署与应用一、Metrics-Server的部署二、 Metrics-Server 的使用一、Metrics-Server的部署Metrics-Server是集群核心监控数据的聚合器,用来替换之前的heapster。容器相关的 Metrics 主要来自于 kubelet 内置的 cAdvisor 服务,有了Metrics-Server之后,用户就可以通过标准的 Kubernetes API 来访问到这些监控数据。Metrics API 只可以查询当前的度.

2020-08-21 14:50:43 670

原创 Linux Kubernetes 容器资源限制 namespace

kubernetes 容器资源限制 namespace资源限制一、容器资源限制二、namespace资源限制为namespace设置资源限制为namespace设置资源配额为 Namespace 配置Pod配额一、容器资源限制Kubernetes采用request和limit两种限制类型来对资源进行分配。request(资源需求):即运行Pod的节点必须满足运行Pod的最基本需求才能运行Pod。limit(资源限额):即运行Pod期间,可能内存使用量会增加,那最多能使用多少内存,这就是资源限额。

2020-08-21 14:48:40 274

原创 Linux Kubernetes 调度方式

kubernetes 调度一、kubernetes调度二、nodeName方式调度三、nodeSelector方式调度四、亲和与反亲和 调度节点亲和 nodeaffinitypod 亲和性和反亲和性五、Taints 污点调度六、cordon、drain、delete方式调度cordon 停止调度drain 驱逐节点delete 删除节点一、kubernetes调度调度器通过 kubernetes 的 watch 机制来发现集群中新创建且尚未被调度到 Node 上的 Pod。调度器会将发现的每一个未调度的

2020-08-21 14:39:39 189

原创 Linux Kubernetes 使用statefulset控制器部署mysql主从集群

一、StatefulSetsStatefulSet 是用来管理有状态应用的工作负载 API 对象。StatefulSet 用来管理 Deployment 和扩展一组 Pod,并且能为这些 Pod 提供序号和唯一性保证。和 Deployment 相同的是,StatefulSet 管理了基于相同容器定义的一组 Pod。但和 Deployment 不同的是,StatefulSet 为它们的每个 Pod 维护了一个固定的 ID。这些 Pod 是基于相同的声明来创建的,但是不能相互替换:无论怎么调度,每个 Po

2020-08-21 14:38:10 409

原创 Linux Kubernetes 动态 PV

Kubernetes 存储 之 动态 PV一、StorageClass简介及属性NFS Client Provisioner二、NFS动态分配PV示例实验准备授权配置部署NFS Client Provisioner创建 NFS SotageClass运行部署文件创建测试pvc创建测试pod三、默认 StorageClass一、StorageClass简介及属性StorageClass提供了一种描述存储类(class)的方法,不同的class可能会映射到不同的服务质量等级和备份策略或其他策略等。每个

2020-08-21 14:28:50 141

原创 Linux Kubernetes PV 持久卷

Kubernetes 存储 之 PV 持久卷一、persistent volumes简介简介pv和pvc的区别二、volume和claim的生命周期供给静态动态绑定使用释放回收三、PV详解Capacity(容量)访问模式Class回收策略阶段四、PersistentVolumeClaims(PVC)详解访问模式资源选择器(Selector)等级(Class)使用PVC五、nfs pv示例六、pod使用pvc示例一、persistent volumes简介简介管理存储和管理计算有着明显的不同。Persi

2020-08-21 14:26:25 171

原创 Linux Kubernetes Volumes配置管理

Kubernetes 存储 之 Volumes配置管理一、Volumes介绍Volume 的类型二、emptyDir三、hostPath四、NFS一、Volumes介绍容器中的文件在磁盘上是临时存放的,这给容器中运行的特殊应用程序带来一些问题。 首先,当容器崩溃时,kubelet 将重新启动容器,容器中的文件将会丢失——因为容器会以干净的状态重建。 其次,当在一个 Pod 中同时运行多个容器时,常常需要在这些容器之间共享文件。 Kubernetes 抽象出 Volume 对象来解决这两个问题。Kub

2020-08-21 14:24:13 191

原创 Linux Kubernetes Secret存储

Kubernetes 存储 之 Secret一、Secret简介二、Service Account三、Opaque Secret通过命令创建Secret通过yaml文件创建Secret将Secret挂载到Volume中将Secret设置为环境变量四、kubernetes.io/dockerconfigjson 类型一、Secret简介Secret对象类型用来保存敏感信息,例如密码、OAuth令牌和ssh key。敏感信息放在Secret中比放在Pod的定义或者容器镜像中来说更加安全和灵活。Pod可以

2020-08-20 16:56:39 189

原创 Linux Kubernetes Configmap存储

Kubernetes 存储 之 Configmap一、Configmap简介二、创建Configmap使用字面值创建使用文件创建使用目录创建编写Configmap的yaml文件创建三、使用Configmap通过环境变量的方式直接传递给pod通过在pod的命令行下运行的方式作为volume的方式挂载到pod内四、Configmap热更新五、通过Configmap来部署nginx一、Configmap简介Configmap用于保存配置数据,以键值对的形式存储Configmap资源提供了向Pod诸如配置数据

2020-08-20 16:54:23 170

原创 Linux Kubernetes Service 之 Ingress

官方文档:https://kubernetes.io/zh/docs/concepts/services-networking/ingress/一、Ingress介绍一种全局的、为了代理不同后端 Service 而设置的负载均衡服务,就是 Kubernetes 里的Ingress 服务。Ingress由两部分组成:Ingress controller和Ingress服务。Ingress Controller 会根据你定义的 Ingress 对象,提供对应的代理能力。业界常用的各种反向代理项目,比如

2020-08-20 16:49:38 265

原创 Linux Kubernetes Service详解

Kubernetes Service详解一、Kubernetes ServiceService的介绍service的类型service的优化Flannel vxlan模式跨主机通信原理二、Kubernetes Service举例ClusterIP举例NodePort举例Kube-dns举例Headless Service举例LoadBalancer举例ExternalName 举例一、Kubernetes ServiceService的介绍Service可以看作是一组提供相同服务的Pod对外的访...

2020-08-20 16:40:39 185

原创 Linux Kubernetes Pod控制器

Pod控制器一、Pod控制器Pod 的分类控制器类型Replication Controller和ReplicaSetDeploymentDaemonSetStatefulSetJobCronJobHPA二、Pod控制器使用示例ReplicaSet举例Deployment控制器示例DaemonSet举例Job控制器举例CronJob控制器举例一、Pod控制器Pod 的分类自主式 Pod:Pod 退出后不会被创建控制器管理的 Pod:在控制器的生命周期里,始终要维持 Pod 的副本数目控制器类型

2020-08-20 16:37:41 74

原创 Linux Kubernetes Pod生命周期

Pod生命周期一、Pod的phase二、Pod的状态三、init容器init容器介绍Init 容器能做什么?init容器举例:四、容器探针理解探针重启策略Pod 的生命livenessProbe存活探测示例readinessProbe就绪检测示例:livenessProbe + readinessProbe存活探测示例初步认识pod可以参考:https://blog.csdn.net/qq_35887546/article/details/105579274一、Pod的phasePod的status信

2020-08-20 16:33:59 162

原创 Linux Kubernetes 资源清单详解

Kubernetes 资源清单一、认识资源清单1.什么是资源清单2.资源清单的格式3.资源清单中的属性二、资源清单实践1.编辑一个简单的资源清单2.一个pod创建两个容器3.使用资源清指定nat访问pod4.用资源清单设置资源限制5.指定调度节点6.定义使用节点网络一、认识资源清单1.什么是资源清单在k8s中,一般使用yaml格式的文件来创建符合我们预期期望的pod,这样的yaml文件我们一般称为资源清单2.资源清单的格式apiVersion: group/apiversion: 如果没有给定

2020-08-20 16:29:45 156

原创 Linux Kubernetes pod管理

Kubernetes pod管理一、Pod是什么Pod带来的好处Kubernetes中Pod控制器二、通过命令来管理pod三、pod命令管理实践创建pod指定pod管理对象pod拉伸集群内部pod外部访问集群外部访问podpod的应用版本更新和回滚一、Pod是什么Pod是Kubernetes中能够创建和部署的最小单元,是Kubernetes集群中的一个应用实例,总是部署在同一个节点Node上。Pod中包含了一个或多个容器,还包括了存储、网络等各个容器共享的资源。Pod支持多种容器环境,Docker则是.

2020-08-20 16:27:43 368

原创 Linux Kubernetes部署

Kubernetes介绍及部署一、认识Kubernetes -- k8sKubernetes是什么?Kubernetes 特点使用Kubernetes能做什么?Kubernetes 设计架构二、Kubernetes的一些重要概念三、Kubernetes集群部署实验准备安装 kubelet、kubeadm 和 kubectl用 kubeadm 创建 Cluster添加 node1 和 node2补充:移除NODE节点的方法添加已删除节点忘掉token再次添加进k8s集群一、认识Kubernetes – k8

2020-08-20 16:21:49 324

原创 Linux Docker容器 三剑客之Docker Swarm

一、什么是Docker Swarm  Swarm是Docker公司推出的用来管理docker集群的平台,几乎全部用GO语言来完成的开发的,代码开源在https://github.com/docker/swarm, 它是将一群Docker宿主机变成一个单一的虚拟主机,Swarm使用标准的Docker API接口作为其前端的访问入口,换言之,各种形式的DockerClient(compose,docker-py等)均可以直接与Swarm通信,甚至Docker本身都可以很容易的与Swarm集成,这大大方便了

2020-08-20 14:36:26 263

原创 Linux Docker容器 三剑客之Docker Compose

一、什么是Docker ComposeCompose 项目是Docker官方的开源项目,负责实现Docker容器集群的快速编排,开源代码在https://github.com/docker/compose 上我们知道使用Dockerfile模板文件可以让用户很方便的定义一个单独的应用容器,其实在工作中,经常会碰到需要多个容器相互配合来完成的某项任务情况,例如工作中的web服务容器本身,往往会在后端加上数据库容器,甚至会有负责均衡器,比如LNMP服务Compose 就是来做这个事情的,它允许用户通过一个

2020-08-18 23:03:15 97

原创 Linux Docker容器 三剑客之Docker Machine

一、什么是Docker MachineDocker Machine 是Docker官方编排项目之一,使用go语言编写的,使用不同引擎在多种平台上快速的安装Docker环境,开源地址:https://github.com/docker/machine。Docker Machine 是一个工具,它允许你在虚拟宿主机上安装Docker,并使用docker-machine命令管理这个宿主机,可以使用Docker Machine在本地的MAC或者windows box、公司网络,数据中心或者AWS这样的云提供商

2020-08-18 22:51:12 116

原创 Linux Docker容器 安全之容器资源控制 安全加固

一、背景在使用 docker 运行容器时,默认的情况下,docker没有对容器进行硬件资源的限制,当一台主机上运行几百个容器,这些容器虽然互相隔离,但是底层却使用着相同的 CPU、内存和磁盘资源。如果不对容器使用的资源进行限制,那么容器之间会互相影响,小的来说会导致容器资源使用不公平;大的来说,可能会导致主机和集群资源耗尽,服务完全不可用。docker 作为容器的管理者,自然提供了控制容器资源的功能。正如使用内核的 namespace 来做容器之间的隔离,docker 也是通过内核的 cgroups 来

2020-08-18 22:48:17 267

原创 Linux Docker容器 convoy插件管理

docker数据卷详解一、docker数据卷bind mount 模式docker managed volume模式bind mount与docker managed volume对比二、docker卷插件简介convoy插件部署一、docker数据卷bind mount 模式其中 -v选项指定的路径,如果不存在,挂载时会自动创建,也可指定多个挂载。bind mount 示例:[root@server1 ~]# docker run -d --name vm1 -v /opt/website:/

2020-08-18 22:45:24 138

原创 Linux Docker容器 网络详解

docker网络详解一、docker网络概述二、docker原生网络(1) bridge模式(2) host 模式(3) none模式(4) container模式三、docker自定义网络bridgeMacvlan四、docker容器间的通信1.使用名称2.container模式3.link模式4.docker容器访问外部网络5.外部网络访问容器五、跨主机的容器网络macvlan网络方案的实现一、docker网络概述Docker作为目前最火的轻量级容器技术,牛逼的功能,如Docker的镜像管理,不足的

2020-08-18 22:43:22 535

原创 Linux Docker容器 harbor的安装部署

harbor的安装部署一、Harbor二、安装部署harbor v1.10.0安装准备安装三、GUIl界面使用四、本机上传拉取镜像本机上传本机拉取五、远程主机上传下载镜像六、harbor用户管理七、harbor私有仓库八、为harbor添加内容扫描九、配置harbor内容签名一、HarborHarbor是构建企业级私有docker镜像的仓库的开源解决方案,它是Docker Registry的更高级封装,它除了提供友好的Web UI界面,角色和用户权限管理,用户操作审计等功能外,它还整合了K8s的插件(.

2020-08-18 22:40:53 688

原创 Linux Docker容器 公有仓库 私有仓库的创建 用户的认证加密详解

Docker仓库一、仓库是什么二、Docker registry工作原理情景A:用户要获取并下载镜像。情景B:用户要推送镜像到registry中。情景C:用户要从index或registry中删除镜像。三、Docker Hub注册登录镜像分类推送镜像自动构建四、创建私有仓库容器运行在私有仓库搜索、上传、下载镜像本地上传,下载镜像远程主机上传下载镜像五、 为docker仓库添加加密功能仓库配置客户端配置本机测试远程主机测试六、 为docker仓库添加认证功能仓库配置测试一、仓库是什么仓库(Reposito

2020-08-18 22:38:03 439

原创 Linux Docker容器 镜像优化

首先我们使用Dockerfile构建一个镜像:vim Dockerfile FROM rhel7COPY dvd.repo /etc/yum.repos.d/ADD nginx-1.16.1.tar.gz /mntWORKDIR /mnt/nginx-1.16.1RUN rpmdb --rebuilddbRUN yum install -y gcc make pcre-devel zlib-develRUN sed -i.bak 's/CFLAGS="$CFLAGS -g"/#CFLAGS=

2020-08-18 22:25:51 156

空空如也

空空如也

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

TA关注的人

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