自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 kubernetes资源监控

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

2020-07-07 11:42:46 319

原创 k8s容器资源限制

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

2020-07-06 10:47:23 646

原创 kubernetes访问控制

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

2020-07-06 09:20:59 267

原创 kubernetes调度

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

2020-07-03 14:33:05 174

原创 Kubernets存储之StatefulSet控制器

一、简介使用StatefulSet 控制器可以去运行一个有状态的应用程序PV和PVC的设计,使得StatefulSet对存储状态的管理成为了可能:• Pod的创建也是严格按照编号顺序进行的。比如在web-0进入到running状态,并且Conditions为Ready之前,web-1一直会处于pending状态。StatefulSet还会为每一个Pod分配并创建一个同样编号的PVC。这样,kubernetes就可以通过Persistent Volume机制为这个PVC绑定对应的PV,从而保证每一个P

2020-07-03 10:48:39 194

原创 kubernetes存储之Volumes配置管理

一、简介Volumes主要作用是:将数据和镜像进行结耦。容器中的文件在磁盘上是临时存放的,这给容器中运行的特殊应用程序带来一些问题。首先,当容器崩溃时,kubelet 将重新启动容器,容器中的文件将会丢失,因为容器会以干净的状态重建。其次,当在一个 Pod 中同时运行多个容器时,常常需要在这些容器之间共享文件。例如有些init容器运行完成后所产生的数据可能是其他容器所需要的 Kubernetes 抽象出 Volume 对象来解决这两个问题。Kubernetes 卷具有明确的生命周期,与包裹它的 Pod

2020-07-01 16:10:50 639

原创 kubernetes存储之Secret配置管理

一、简介Secret配置只要用来存放一些敏感信息,例如用户名认证,镜像的拉取中仓库的用户认证等等。Secret 对象类型用来保存敏感信息,例如密码、OAuth 令牌和 ssh key。敏感信息放在 secret 中比放在 Pod 的定义或者容器镜像中来说更加安全和灵活。Pod 可以用两种方式使用 secret:• 作为 volume 中的文件被挂载到 pod 中的一个或者多个容器里。• 当 kubelet 为 pod 拉取镜像时使用。Secret的类型:• Service Account:Kub

2020-06-30 14:13:41 244

原创 kubernetes存储之Configmap配置管理

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

2020-06-30 13:21:04 571

原创 k8s集群化部署之service详细

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

2020-06-23 16:31:09 2126

原创 k8s集群化部署之控制器

一、控制器类型pod一般分为自主式 Pod和控制器管理的 Pod自主式 Pod:Pod 退出后不会被创建控制器管理的 Pod:在控制器的生命周期里,始终要维持 Pod 的副本数目常用的控制器有四类:ReplicaSet和ReplicationControllerDeploymentsDaemonSetStatefulSets其中ReplicaSet和ReplicationController不单独使用,一般是和Deployments控制器一起使用的Replication Controll

2020-06-23 15:38:22 260

原创 k8s集群化部署之pod生命周期

一、初始化容器Pod 可以包含多个容器,应用运行在这些容器里面,同时 Pod 也可以有一个或多个先于应用容器启动的 Init 容器。初始化容器是由pause镜像完成的,提供整个pod的运行环境Init 容器与普通的容器非常像,除了如下几点:• 它们总是运行到完成。• Init 容器不支持 Readiness,因为它们必须在 Pod 就绪之前运行完成。• 每个 Init 容器必须运行成功,下一个才能够运行。• 如果 Pod 的 Init 容器失败,Kubernetes 会不断地重启该 Pod,直

2020-06-23 14:18:52 189

原创 k8s集群化部署之资源清单

一、创建资源清单命令行的部署方式有的时候不是很方便,资源清单更加的简洁明了,快速实现扩容缩容资源清单的格式:1、apiVersion:指明api资源属于哪个群组和版本,同一个组可以有多个版本apiVersion: group/version2、kind:标记创建的资源类型,k8s主要支持以下资源类别Pod,ReplicaSet,Deployment,StatefulSet,DaemonSet,Job,Cronjob3、metadata:指定元数据name: //对像名称namespa

2020-06-23 09:39:10 538

原创 k8s集群化部署之使用service暴露应用

一、service简介service是一个抽象概念,定义了一个服务的多个pod逻辑合集和访问pod的策略,一般把service称为微服务。可以通过type在ServiceSpec中指定一个需要的类型的 Service,Service的四种type:ClusterIP(默认) - 在集群中内部IP上暴露服务。此类型使Service只能从群集中访问。NodePort - 通过每个 Node 上的 IP 和静态端口(NodePort)暴露服务。NodePort 服务会路由到 ClusterIP 服务,这个

2020-06-22 14:53:31 474

原创 k8s集群化部署之pod管理

一、pod简介Pod是Kubernetes中一个抽象化概念,由一个或多个容器组合在一起得共享资源。这些资源包括:共享存储,如 Volumes 卷网络,唯一的集群IP地址每个容器运行的信息,例如:容器镜像版本Pod模型是特定应用程序的“逻辑主机”,并且包含紧密耦合的不同应用容器。Pod中的容器共享IP地址和端口。每个Pod将被绑定调度到Node节点上,并一直保持在那里直到被终止(根据配置策略)或删除。在节点出现故障的情况下,群集中的其他可用节点上将会调度之前相同的Pod。二、node简介一个Po

2020-06-22 11:05:10 982

原创 k8s集群部署之环境搭建

一、k8s简介k8s是Kubernetes的简称,它是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。通过Kubernetes可以实现快速部署应用,快速扩展应用,无缝对接新的应用功能以及节省资源,优化硬件资源的使用。设计架构Kubernetes集群包含有节点代理kubelet和Master组件(APIs, scheduler, etcd),一切都基于分布式的存储系统。默认情况下master节点不参与调度,master节点上运行着很多的核心进程:调度,控制管理

2020-06-22 10:34:32 826

原创 jenkins持续集成之jenkins+ansible

jenkins用户到目标主机的免密设置jenkins用户登录设置ssh免密登录远端主机是以jenkins的身份切换过去的,需要jenkins用户登录的密码远程主机中创建一个普通用户再次设置ssh免密设置远端主机的权力下放,可以先使用ansible用户身份进入系统,再用sudo执行指令Gitlab中新建项目编写ansible所需文件jenkins中新建项目手动触发一次参数化构建...

2020-06-18 21:30:41 2048

原创 jenkins持续集成之harbor仓库

更改jenkins的配置:1、改变仓库项目为harbor私有仓库中的library2、更改docker仓库的url为http://reg.westos.org手动触发demo权限首先,需要修改docker.sock文件权限

2020-06-18 20:24:00 3689

原创 Harbor私有仓库

一、harbor简介Harbor是构建企业级私有docker镜像的仓库的开源解决方案,它是Docker Registry的更高级封装。它整合了两个开源的安全组件,一个是Notary,另一个是Clair,Notary类似于私有CA中心,而Clair则是容器安全扫描工具,它通过各大厂商提供的CVE漏洞库来获取最新漏洞信息,并扫描用户上传的容器是否存在已知的漏洞信息,这两个安全功能对于企业级私有仓库来说是非常具有意义的二、harbor的安装下载地址:https://github.com/goharbor/h

2020-06-17 18:34:00 243

原创 jenkins持续集成之gitlab自动触发jenkins

一、jenkins简介Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。Jenkins用Java语言编写,需要保证系统中安装jdk。CI(Continuous integration持续集成)持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。CD(Continuo

2020-06-17 15:01:40 549

原创 Gitlab代码仓库

一、Gitlab简介GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。二、Gitlab的安装软件下载地址:https://mirrors.tuna.tsinghua.edu

2020-06-17 14:10:25 413

原创 使用git

一、git简介Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。分布式版本控制系统不需要中央服务器,每一台主机上都有完整的版本库。Git的特点:速度简单的设计对非线性开发模式的强力支持(允许成千上万个并行开发的分支)完全分布式有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)Git的三种状态:Git 有三种状态:已提交(committed)、已修改(modified) 和 已暂存(staged)。已修改表示修改了文件,但还没保存到

2020-06-12 17:24:34 89

原创 kibana数据可视化

一、kibana简介Kibana 是为 Elasticsearch设计的开源分析和可视化平台。你可以使用 Kibana 来搜索,查看存储在 Elasticsearch 索引中的数据并与之交互。你可以很容易实现高级的数据分析和可视化,以图标的形式展现出来。Kibana 核心产品搭载了一批经典功能:柱状图、线状图、饼图、旭日图,等等二、kibana的安装与配置kibana下载地址:https://elasticsearch.cn/download/安装:rpm -ivh kibana-7.6.1-x

2020-06-12 10:07:47 6772

原创 logstash数据采集

一、logstash简介Logstash是一个开源的服务器端数据处理管道。logstash拥有200多个插件,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的 “存储库” 中。(大多都是 Elasticsearch。)Logstash管道有两个必需的元素,输入和输出,以及一个可选元素过滤器。logstash有input,filter以及output三个部分:input:采集各种样式、大小和来源的数据Logstash 支持各种输入选择 ,同时从众多常用来源捕捉事件。能够以连续的流

2020-06-12 09:11:53 536

原创 elasticsearch开源搜索与分析

一、elasticsearch简介Elasticsearch 是一个开源的分布式搜索分析引擎,建立在一个全文搜索引擎库 Apache Lucene基础之上。Elasticsearch 不仅仅是 Lucene,并且也不仅仅只是一个全文搜索引擎:一个分布式的实时文档存储,每个字段 可以被索引与搜索一个分布式实时分析搜索引擎能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据1.1 elasticsearch的应用场景信息检索日志分析业务数据分析数据库加速运维指标监控二、

2020-06-12 07:53:29 387

原创 自动化运维之saltstack

一、saltstack介绍saltstak是做自动化配置的。saltstack是一个分布式远程执行系统,用来在远程节点上执行命令和查询数据,是基于python开发的一套C/S自动化运维工具,通信采用了zeromq消息队列的(pu/sub)这是优势所在,速度会很快,默认监听4505端口,数据传输采用了AES(高级加密)保证安全性,认证采用了SSL方式。Salt Master运行的第二个网络服务就是ZeroMQ REP系统,默认监听4506端口salt的核心功能如下:使命令发送到远程系统是并行的而不是串

2020-06-11 19:35:01 281

原创 lnmp环境搭建

LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构,Nginx是一个高性能的HTTP和反向代理服务器,Mysql是一个小型关系型数据库管理系统,PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。这三种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。使...

2020-05-07 15:55:22 332

原创 企业运维之lvs软件负载均衡

一、lvs概述LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。当用户从外部访问公司的外部负载均衡服务器,用户的Web请求会发送给LVS调度器,调度器根据自己预设的算法决定将该请求发送给后端的某一台Web服务器。lvs的核心组件:ipvsadm:策略编写工具, 用于管理集群服务及集群服务上的RS等ipvs:工作于内核上的程序, 可...

2020-04-29 13:46:47 176

原创 企业运维之Varnish

一、Varnish概述Varnish是一款高性能的开源HTTP加速器,可以有效降低web服务器的负载,提升访问速度。当部署上Varnish之后,web请求的处理过程如下:客户端的请求将首先被Varnish接受。Varnish将分析接收的请求,并将其转发到后端的web服务器上。后端的web服务器对请求进行常规的处理,并将依次将处理结果返回给Varnish。Varnish的核心功能是将后端web...

2020-04-29 12:18:41 213

原创 python--03

1 函数函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率1.1 定义一个函数函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。函数内容以冒号起始,并且缩进。return [表...

2020-04-20 13:07:58 406

原创 python--02

1.list列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可li = [1,1.2,True,'hello']print(li)print(type(li))1.1 访问列表中的值(索引)使用下标索引来访问列表中的值service = ['http','ssh...

2020-04-20 12:28:49 293

原创 python--01

1.python中的注释Python中的注释有单行注释和多行注释:Python中单行注释以 # 开头多行注释用三个单引号 ‘’’ 或者三个双引号 “”" 将注释括起来print('hello world')# this is a commentprint('hello python') #this also a comment"""they are allcomment...

2020-04-19 18:39:57 360

原创 ansible之其他

一、修改文件并将其复制到主机1.1 常用文件模块blockinfile将文本块添加到现有文件copy将文件复制到受管主机fetch从受管主机拷贝文件到控制节点file设置文件属性lineinfile确保特定行位于某个文件stat检索文件状态信息synchronizersync 命令的一个打包程序file模块处理文件,如果不存...

2020-04-19 15:15:41 127

原创 ansible之实施任务控制

一、编写循环和条件任务1.1 简单循环1.不用循环---- name: test hosts: webservers tasks: - name: apache is running service: name: httpd state: started - name: vsftpd is running se...

2020-04-19 14:44:00 361

原创 ansible之playbook

实施playbook1.1 编写和运行playbookyaml 格式通常以yml 为扩展名,yaml 对于缩进量没有严格要求,但是有两个基本原则:1.处于同一层次结构中同一级别的数据元素必须具有相同的缩进量2.如果项目属于其他项目的子项,其缩进量必须大于父项示例1:查看指定用户的临时命令ansible -m user -a "name=student uid=1000 state=p...

2020-04-19 13:36:09 236

原创 ansible批量管理服务

一、基本信息1.1 什么是ansibleansible是一款开源自动化平台,是一个配置管理工具,自动化运维工具。1.2 ansible的优点:1.跨平台支持2.人类可读自动化: ansible提供linux,Windows,unix和网络设备的无代理支持,适用于物理、虚拟、云和容器环境3.完美描述应用:playbook4.轻松管理版本控制:playbook是纯文本,可视作源代码5....

2020-04-05 13:51:57 207

原创 变量

一、shell脚本中变量的定义方法变量是内存空间中一片区域的编址。变量分为三类:1、环境级别的变量(当前环境关闭后变量失效)定义格式:export a=1特点:在此环境关闭后变量失效当定义变量前不加export时,在脚本中写入定义的变量后执行脚本,当使用在当前shell下执行脚本的方法可以识别定义的变量,当开启一个子shell执行脚本时不能识别当使用export定义变量时,开启新的子s...

2020-03-30 17:10:10 89

原创 Shell脚本基础

一、对shell的理解以及shell脚本的意义1、什么是shell①shell是保护内核的壳,是操作系统最外面的一层②shell是操作系统与外界交互的工具:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果。③从脚本的角度出发,shell是脚本中的命令解释器:它接收用户命令(如ls等),然后调用相应的应用程序。2、shell脚本存在的意义①记录命令执行的过程和逻辑...

2020-03-30 09:50:04 109

原创 文本处理工具

一、grepgrep正则表达式的全称为(Global search Regular EXpression),是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep文本处理工具有grep和egrep两种,其中egrep是grep的扩展在使用命令时grep -E = egrep。1.1 grep命令的使用格式一般情况下,grep命令工作在贪婪模式下,即趋于最大长度的...

2020-03-27 13:00:04 99

原创 shell中常用的基础命令

一、diffdiff命令的用法:vimdiff命令文件wang中的内容如下文件wang1中的内容如下用diff命令对比两个文件更改文件wang中的内容再次对比两个文件因此使用diff命令对比两个文件时显示的结果中包含不同字符的含义如下表字符含义结果中的第一个数字numb1第一个文件的行数a添加d删除c更改<第一个文件...

2020-03-25 17:45:33 131

原创 火墙

一、火墙简介在linux中火墙策略是基于netfilter实现的。netfilter是内核防火墙框架,可实现安全策略应用中的许多功能,如数据包过滤、数据包处理、地址伪装、透明代理、动态网络地址转换(Network Address Translation,NAT),以及基于用户及媒体访问控制(Media Access Control,MAC)地址的过滤和基于状态的过滤、包速率限制等。IPTABL...

2020-03-20 19:37:52 475

空空如也

空空如也

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

TA关注的人

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