运维企业实战
dsd2333
努力、奋进、拼搏,记住自己的目标
展开
-
Kubernetes进阶篇 —— 高可用集群
k8s高可用集群集群拓扑Loadbalancer部署安装 keepalived haproxyyum install -y keepalived haproxy 配置haproxyvim /etc/haproxy/haproxy.cfgkeepalived配置vim /etc/keepalived/keepalived.conf ### 1 ! Configuration File for keepalived 2 3 global_defs { 4 not原创 2020-07-29 15:20:18 · 239 阅读 · 0 评论 -
Kubernetes监控篇 —— 资源监控
资源限制Kubernetes采用request和limit两种限制类型来对资源进行分配:request(资源需求):即运行Pod的节点必须满足运行Pod的最基本需求才能运行Podlimit(资源限额):即运行Pod期间,可能内存使用量会增加,那最多能使用多少内存,这就是资源限额资源类型:CPU 的单位是核心数,内存的单位是字节一个容器申请0.5个CPU,就相当于申请1个CPU的一半,你也可以加个后缀m 表示千分之一的概念。比如说100m的CPU,100豪的CPU和0.1个CPU都是一样的原创 2020-07-29 15:20:10 · 1349 阅读 · 0 评论 -
Hadoop大数据平台实战 —— 三个节点(1个master+2个slave)实现全分布式操作
HadoopHadoop简介Hadoop 起源于 Google 的三大论文:GFS:Google 的分布式文件系统 Google File SystemMapReduce:Google 的 MapReduce 开源分布式并行计算框架BigTable:一个大型的分布式数据库上述三大论文的演变关系:GFS —— -> HDFSGoogle MapReduce —— -> Hadoop MapReduceBigTable —— -> HBaseHadoop 名称的由来原创 2020-07-29 15:19:08 · 1566 阅读 · 0 评论 -
Hadoop大数据平台实战 —— Hadoop单机操作和伪分布式操作
Hadoop下载与安装由于 Hadoop 底层是用 Java 编写,因此还需要安装 JDK下载 Hadoop 和 JDK 的源码包新建普通用户,将源码包移动到普通用户下,并切换到普通用户useradd dsdmv jdk-8u181-linux-x64.tar.gz hadoop-3.2.1.tar.gz /home/dsd/su - dsd解压 JDK 源码包并做软链接tar zxf jdk-8u181-linux-x64.tar.gzln -s jdk1.8.0_181/ jdk原创 2020-07-29 15:18:50 · 253 阅读 · 0 评论 -
Hadoop大数据平台实战 —— 基础概念
Hadoop 起源于 Google 的三大论文:GFS:Google 的分布式文件系统 Google File SystemMapReduce:Google 的 MapReduce 开源分布式并行计算框架BigTable:一个大型的分布式数据库上述三大论文的演变关系:GFS —— -> HDFSGoogle MapReduce —— -> Hadoop MapReduceBigTable —— -> HBaseHadoop 名称的由来:Hadoop 之父 Doug原创 2020-07-29 15:18:39 · 515 阅读 · 0 评论 -
Kubernetes进阶篇 —— 访问控制
Kubernetes访问控制kubernetes API 访问控制Authentication(认证)认证方式现共有8种,可以启用一种或多种认证方式,只要有一种认证方式通过,就不再进行其它方式的认证。通常启用 X509 Client Certs 和 Service Accout Tokens 两种认证方式Kubernetes集群有两类用户:由Kubernetes管理的Service Accounts (服务账户)和(Users Accounts) 普通账户。k8s中账号的概念不是我们理解的账号原创 2020-07-13 14:16:03 · 297 阅读 · 0 评论 -
Kubernetes进阶篇 —— 调度
Kubernetes调度默认策略:https://kubernetes.io/zh/docs/concepts/scheduling/kube-scheduler/调度框架:https://kubernetes.io/zh/docs/concepts/configuration/scheduling-framework/调度器通过 kubernetes 的 watch 机制来发现集群中新创建且尚未被调度到 Node 上的 Pod 。调度器会将发现的每一个未调度的 Pod 调度到一个合适的 Node 上原创 2020-07-13 13:57:08 · 433 阅读 · 0 评论 -
Kubernetes存储篇 —— Volumes
Volumes配置管理容器中的文件在磁盘上是临时存放的,这给容器中运行的特殊应用程序带来一些隐患。首先,当容器崩溃时,kubelet 将重新启动容器,容器中的文件将会丢失,这是因为容器会以干净的状态重建。其次,当在一个 Pod 中同时运行多个容器时,常常需要在这些容器之间共享文件。 Kubernetes 抽象出 Volume 对象来解决这两个问题Kubernetes 卷具有明确的生命周期,与包裹它的 Pod 相同。 因此,卷比 Pod 中运行的任何容器的存活期都长,在容器重新启动时数据也会得到保留。原创 2020-07-13 12:37:05 · 1318 阅读 · 0 评论 -
kubernetes存储篇 —— Configmap
1. ConfigMap配置管理1.1 ConfigMap作用及使用场景ConfigMap用于保存配置数据,以键值对形式存储ConfigMap 资源提供了向 Pod 注入配置数据的方法旨在让镜像和配置文件解耦,以便实现镜像的可移植性和可复用性典型的使用场景填充环境变量的值设置容器内的命令行参数填充卷的配置文件1.2 ConfigMap的创建创建方式使用字面值创建使用文件创建使用目录创建编写configmap的yaml文件创建字面值创建kubectl create co原创 2020-07-06 19:31:53 · 282 阅读 · 0 评论 -
kubernetes存储篇 —— Secret
1. Secret1.1 Secret配置管理Secret 对象类型用来保存敏感信息,例如密码、OAuth 令牌和 ssh key敏感信息放在 secret 中比放在 Pod 的定义或者容器镜像中来说更加安全和灵活Pod 可以用两种方式使用 secret:作为 volume 中的文件被挂载到 pod 中的一个或者多个容器里当 kubelet 为 pod 拉取镜像时使用secret的类型:Service Account:Kubernetes 自动创建包含访问 API 凭据的 secret,并原创 2020-07-06 19:11:29 · 252 阅读 · 0 评论 -
kubernetes基础篇 —— Service
1. ServiceService可以看作是一组提供相同服务的Pod对外的访问接口。借助Service,应用可以方便地实现服务发现和负载均衡service默认只支持4层负载均衡能力,没有7层功能。(可以通过Ingress实现)service的类型:ClusterIP:默认值,k8s系统给service自动分配的虚拟IP,只能在集群内部访问NodePort:将Service通过指定的Node上的端口暴露给外部,访问任意一个NodeIP:nodePort都将路由到ClusterIPL原创 2020-07-06 18:56:38 · 297 阅读 · 0 评论 -
kubernetes基础篇 —— 控制器
官方网站:https://kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/关闭节点的selinux和iptables防火墙所有节点部署docker引擎原创 2020-07-03 15:55:40 · 196 阅读 · 0 评论 -
kubernetes基础篇 —— 检测探针
检测探针探针是由 kubelet 对容器执行的定期诊断:ExecAction: 在容器内执行指定命令。如果命令退出时返回码为 0 则认为诊断成功TCPSocketAction: 对指定端口上的容器的 IP 地址进行 TCP 检查。如果端口打开,则诊断被认为是成功的HTTPGetAction: 对指定的端口和路径上的容器的 IP 地址执行 HTTP Get请求。如果响应的状态码大于等于200 且小于 400,则诊断被认为是成功的每次探测都将获得以下三种结果之一:成功:容器通过了诊断失败:容原创 2020-07-03 15:04:37 · 854 阅读 · 0 评论 -
kubernetes基础篇 —— Pod生命周期
Pod生命周期Pod 可以包含多个容器,应用运行在这些容器里面,同时 Pod 也可以有一个或多个先于应用容器启动的 Init 容器Init 容器与普通的容器非常像,区别是:Init 容器总是运行到完成Init 容器不支持 Readiness,因为它们必须在 Pod 就绪之前运行完成每个 Init 容器必须运行成功,下一个才能够运行如果 Pod 的 Init 容器失败,Kubernetes 会不断地重启该 Pod,直到 Init 容器成功为止。然而,如果 Pod 对应的 restartPol原创 2020-07-03 15:03:45 · 179 阅读 · 0 评论 -
kubernetes基础篇 —— 资源清单
1. 资源清单1.1 资源清单格式kubectl explain pod ##查询帮助文档1.2自主式Pod资源清单vim demo.yamlkubectl create -f demo.yaml1.3 标签kubectl get pod --show-labels ##查看标签kubectl get pod -l app ##过滤包含app的标签kubectl get pod -L appkubectl label pod demo v原创 2020-07-03 15:02:47 · 3150 阅读 · 0 评论 -
kubernetes基础篇 ——Pod管理
官方网站:https://kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/Pod管理Pod 是可以创建和管理 Kubernetes 计算的最小可部署单元,一个 Pod 代表着集群中运行的一个进程,每个 pod 都有一个唯一的 IP一个 pod 类似一个豌豆荚,包含一个或多个容器(通常是docker),多个容器间共享 IPC、Network 和 UTC namespacekubectl原创 2020-07-03 15:01:26 · 500 阅读 · 0 评论 -
kubernetes基础篇 —— 集群部署
官方网站:https://kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/1. 集群部署1.1 环境主机IPk8s1192.168.1.20k8s2192.168.1.21k8s3192.168.1.22k8s4192.168.1.23关闭节点的selinux和iptables防火墙所有节点部署docker引擎将k8s2作为mas原创 2020-07-03 14:59:35 · 441 阅读 · 0 评论 -
kubernetes入门篇 —— 基本介绍
官方网址:https://kubernetes.io/docs/setup/production-environment/container-runtimes/#dockerkubernetes概述Kubernetes 是一个开源的,用于管理云平台中多个主机的容器化的应用。Kubernetes 的目标是让部署容器化的应用简单并且高效(powerful)Kubernetes 提供了应用部署、规划、更新以及维护的一种机制核心特点:能够自主的管理容器来保证云平台中的容器按照用户的期望状态运行着,【例如原创 2020-06-22 17:50:39 · 322 阅读 · 0 评论 -
首席领导者 —— jenkins
1. jenkins持续集成1.1 jenkins简介Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。CI(Continuous integration持续集成)持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。CD(Continuous Delivery持续交付) 是在持续集成的基础上,将集成后的代码部署到更原创 2020-06-20 15:59:24 · 373 阅读 · 0 评论 -
Git(三) —— 搭建私人仓库
1. git使用注册github帐号,并新建一个仓库将本地内容推送到github上有两种方式:https方式和ssh方式ssh方式生成本地密钥,并将公钥上传到githubssh-keygencd .ssh/cat id_rsa.pubgit主机和github实现免密推送本地仓库内容到github# 一定要切换到demo【本地git仓库】目录下git remote add origin git@github.com:dsd2333/demo.gitgit push -u o原创 2020-06-19 19:02:12 · 931 阅读 · 0 评论 -
Git(二) —— Git本地仓库的搭建与使用
《Git葵花宝典》:Git Book1. 实验环境主机信息主机功能git(192.168.1.50)搭建git仓库物理机(192.168.1.250)提供资源2. Git Status状态显示分类Git有三种状态:已提交(committed)、已修改(modified)和已暂存(staged)已修改表示修改了文件,但还没保存到数据库已暂存表示对一个已经修改的文件当前版本做了标记,使之包含在下次提交的快照中已提交表示数据已经安全的保存在本地数据库中状态标记原创 2020-06-18 18:40:56 · 307 阅读 · 0 评论 -
Git(一) —— git工具
1. gitGIT(分布式版本控制系统):一个开源的分布式版本,可以有效、高速地处理从很小到非常大的项目版本管理。GIT 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKe。Git是开源的分布式版本控制系统中最先进的,用以高效、高速的处理项目版本管理git开发流程:2. 版本控制系统版本控制是一种记录一个或者若干文件内容变化,以便于之后查阅特定版本修订情况的系原创 2020-06-18 15:01:01 · 214 阅读 · 0 评论 -
解决方案之ELK日志系统
Table of Contents1. Elasticsearch集群部署1.1Elasticsearch简介1.2Elasticsearch安装与部署1.3elasticsearch插件安装1.4elasticsearch分布式部署1.5elasticsearch节点角色1.6elasticsearch节点优化2. logstash数据采集2.1 Logstash简介2.2 Logstash安装与配置2.3 file输出插件2.4elasti...原创 2020-06-18 12:00:50 · 496 阅读 · 0 评论 -
SaltStack自动化运维
Table of Contents1. SaltStack基础知识和架构解析1.1 SaltStack简介1.2 SaltStack通讯机制1.3 ZeroMQ1.4 传统运维与自动化运维区别1.4.1 传统运维1.4.2 自动化运维1.5 SaltStack组件1.6 Salt具体步骤1.7 SaltStack工具的软件依赖2. 环境安装及部署2.1实验环境2.2 SaltStack的安装与部署3. yaml语法3.1 yaml简介3.2 .原创 2020-06-15 16:42:24 · 616 阅读 · 0 评论