k8s-pod 控制器 Pod控制器,又称之为工作负载(workload),是用于实现管理pod的中间层,确保pod资源符合预期的状态,pod的资源出现故障时,会尝试进行重启,当根据重启策略无效,则会重新新建pod的资源**自主式pod:**kubernetes直接创建出来的pod,这种pod删除后就没有了,也不会重建**控制器创建的pod:**通过控制器创建的pod,这种pod删除了之后还会自动重建。
k8s-pv-pvc概述 容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题。首先,当容器崩溃时,kubelet 会重启它,但是容器中的文件将丢失——容器以干净的状态(镜像最初的状态)重新启动。其次,在Pod中同时运行多个容器时,这些容器之间通常需要共享文件。Kubernetes 中的Volume抽象就很好的解决了这些问题。
k8s-污点 (Taint)和容忍 (Tolerations) 如果一个节点被标记为有污点,那么意味着不允许pod调度到该节点,除非pod也被标记为可以容忍污点节点在使用kubeadm部署的k8s集群的时候应该会发现,通常情况下,应用是不会调度到master节点的。因为kubeadm部署的k8s集群默认给master节点加了Taints(污点)设置了污点的Node将根据taint的effect:NoSchedule、PreferNoSchedule、NoExecute和Pod之间产生互斥的关系,Pod将在一定程度上不会被调度到Node上。
k8s-list-watch集群资源调度 1.Kubernetes 是通过 List-Watch 的机制进行每个组件的协作,保持数据同步的,每个组件之间的设计实现了解耦2.用户是通过 kubectl 根据配置文件,向 APIServer 发送命令,在 Node 节点上面建立 Pod 和 Container,APIServer 经过 API 调用,权限控制,调用资源和存储资源的过程,实际上还没有真正开始部署应用。这里需要 Controller Manager、Scheduler 和 kubelet 的协助才能完成整个部署过程。
k8s-资源限制 健康检查又称为探针(Probe),是由kubelet对容器执行的定期诊断。以上三种规则可同时定义。在 rbeadinessProbe 检测成功之前,Pod 的 running 状态是不会变成 ready 状态的探针分为3种:livenessProbe(存活探针)∶判断容器是否正常运行,如果失败则杀掉容器(不是pod),再根据重启策略是否重启容器。
k8s-Pod 的基本概念 Pod 资源中针对各容器提供网络命令空间等共享机制的是底层基础容器 pause,基础容器(也可称为父容器)pause 就是为了管理 Pod 容器间的共享操作,这个父容器需要能够准确地知道如何去创建共享运行环境的容器,还能管理这些容器的生命周期。如果 Pod 的 Init 容器失败,k8s 会不断地重启该 Pod,直到 Init 容器成功为止。每个 Pod 中一个容器的模式是最常见的用法,在这种使用方式中,你可以把 Pod想象成是单个容器的封装,kubernetes 管理的是 Pod 而不是直接管理容器。
kubectl 命令使用与解释--陈述式-声明式等等等等 Deployment控制器支持自定义控制更新过程中的滚动节奏,如“暂停(pause)”或“继续(resume)”更新操作。比如等待第一批新的Pod资源创建完成后立即暂停更新过程,此时,仅存在一部分新版本的应用,主体部分还是旧的版本。然后,在筛选一小部分的用户请求路由到新版本的Pod应用,继续观察能否稳定地按期望的方式运行。确定没问题之后再继续完成余下的Pod资源滚动更新,否则立即回滚更新操作。这就是所谓的金丝雀发布。
kubeadm安装-K8S 部署 Kubernetes Node,将节点加入Kubernetes集群中。部署 Dashboard Web 页面,可视化查看Kubernetes资源。在所有节点上安装Docker和kubeadm。部署 Harbor 私有仓库,存放镜像资源。部署Kubernetes Master。复制粘贴上面token到页面即可登陆了。#访问前进入windows配置映射。
K8S 二进制安装与概述-贼细的搭建可 C V 那种哦 etcd是CoreOs团队于2013年6月发起的开源项目,它的目标是构建一个高可用的分布式键值(key-value) 数据库(非关系型数据库)。etcd内部采用raft协议作为一致性算法, etcd是go语言编写的特点说明简单安装配置简单,而且提供了HTTP API进行交互,使用也很简单安全支持SSL证书验证快速单实例支持每秒2k+读操作可靠采用raft算法,实现分布式系统数据的可用性和一致性etcd目前默认使用2379端口提供HTTP。
k8S-简介叙述 Kubernetes,又称为 k8s(首字母为 k、首字母与尾字母之间有 8 个字符、尾字母为 s,所以简称 k8s),是一种可自动实施 Linux 容器操作的开源平台。它可以帮助用户省去应用容器化过程的许多手动部署和扩展操作。也就是说,您可以将运行 Linux 容器的多组主机聚集在一起,由 Kubernetes 帮助您轻松高效地管理这些集群。而且,这些集群可跨公共云、私有云或混合云部署主机。
Ansible playbook剧本概述-操作部署 playbook是ansible用于配置,部署,和管理被控节点的剧本。通过playbook的详细描述,执行其中的tasks,可以让远端主机达到预期的状态。playbook是由一个或多个”play”组成的列表。当对一台机器做环境初始化的时候往往需要不止做一件事情,这时使用playbook会更加适合。通过playbook你可以一次在多台机器执行多个指令。通过这种预先设计的配置保持了机器的配置统一,并很简单的执行日常任务。
Ansible 概述与模块基本操作 Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具它用Python写成,类似于saltstack、Puppet、CHef,但是有一个不同和优点是我们不需要在节点中安装任何客户端它使用SSH来和节点进行通信。Ansible基于 Pthon paramiko 开发,分布式,无需客户端,轻量级,配置语法使用 YMAL 及 Jinja2模板语言,更强的远程命令执行操作。
docker-harbor私有仓库 Harbor 是 VMware 公司开源的企业级 Docker Registry 项目,其目标是帮助用户迅速搭建一个企业级的 Docker Registry 服务Harbor以 Docker 公司开源的 Registry 为基础,提供了图形管理 UI 、基于角色的访问控制(Role Based AccessControl) 、AD/LDAP 集成、以及审计日志(Auditlogging) 等企业用户需求的功能,同时还原生支持中文。
docker-consul 容器服务自动发现与更新 服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的,不保障高可用性,也不考虑服务的压力承载,服务之间调用单纯的通过接口访问。直到后来出现了多个节点的分布式架构,起初的解决手段是在服务前端负载均衡,这样前端必须要知道所有后端服务的网络位置,并配置在配置文件中。这里就会有几个问题:如果需要调用后端服务A-N,就需要配置N个服务的网络位置,配置很麻烦后端服务的网络位置变化,都需要改变每个调用者的配置既然有这些问题,那么服务注册与发现就是解决这些问题的。
docker网络模式--资源分配叙述 简单来说:#例:2,使用docker run创建Docker容器时,可以用 --net 或 --network 选项指定容器的网络模式网络模式指定网络模式命令host模式使用 --net=host 指定none模式使用 --net=none 指定container模式使用 --net=container:NAME_or_ID 指定bridge模式使用 --net=bridge 指定,默认设置,可省略3.网络模式详细解释3.1 host 模式
docker-compose概述和部署编排 Docker compose 的前身是 Fig,他是一个定义及运行多个doker容器的工具使用Docker Compose不再需要使用Shell脚本来启动容器Docker Compose非常适合组合使用多个容器进行开发的场景Docker Composeh 支持单节点(主机),Docker Swarm 管理过节点。
docker 数据管理-镜像创建-dockerfile叙述和实例 因为对于精简的OS,rootfs可以很小, 只需要包含最基本的命令、工具和程序库就可以了,因为底层直接用宿主机的kernel,自己只需要提供rootfs就可以了。**1、**如果源路径是个文件,且目标路径是以 / 结尾, 则docker会把目标路径当作一个目录, 会把源文件拷贝到该目录下。**3、**如果源路径是个目录,且目标路径不存在,则docker会自动以目标路径创建一个目录,把源路径目录下的文件拷贝进来。ADD复制的同时,如果复制的对象是压缩包,ADD还可以解压(消耗资源)
docker基本概念与部署和基础命令 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口1.是一种轻量级的“虚拟机”,Docker是一个用于开发,交付和运行应用程序的开放平台2.Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源。
ELK日志分析系统叙述与部署,嘎嘎详细 ELK平台是一套完整的日志集中处理解决方案,将ElasticSearch、 Logstash 和Kibana三个开源工具配合使用,完成更强大的用户对日志的查询、排序、统计需求是基于Lucene (- 一个全文检索引擎的架构)开发的分布式存储检索引擎,用来存储各类日志Elasticsearch是用Java 开发的,可通过RESTful Web接口,让用户可以通过浏览器与Elasticsearch 通信。...