1,devops的简述及要点

DevOps,分层架构 ---> 微服务

把一个程序,拆分成几个成百个微服务,使其相互独立运行

当下把微服务和容器融合起来,使其能够快速的落地。

DevOps 在交互和部署环节的易购程度,在部署环节异常困难,而容器的出现,完全弥补了。

  • CI: 持续集成 Continues Integration

作为运维的角度,得到一个应程序,需要发布到生产,蓝绿部署,金丝雀,灰度发布

  • CD: 持续交付 Continues Delivery
  • CD: 持续部署 Continues Deployment

2,kubernetes的简单介绍与组成

kubernetes,简称K8s,是用8代替8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。
Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。

kubernetes的GitHub源码托管地址

kubernetes中文社区

特性

  • 自动化: 自动部署,自动重启,自动复制,自动伸缩/水平扩展,服务发现和负载均衡,自动发布和回滚
  • 支持秘钥和配置管理, 存储编排,批量处理任务执行
  • 可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)
  • 可扩展: 模块化, 插件化, 可挂载, 可组合

集群构成

称为:物理机群架构是。有中心节点架构的集群 master/nodes(worker)

master上最重要的组件:

  • API Server

    • 提供集群管理的 REST API 接口,包括认证授权、数据校验以及集群状态变更等
    • 提供其他模块之间的数据交互和通信的枢纽(其他模块通过 API Server 查询或修改数据,只有 API Server 才直接操作 etcd)
  • Scheduler(调度器)
    • kube-scheduler 负责分配调度 Pod 到集群内的节点上,它监听 kube-apiserver,按容器运行资源需求查询合适的 Pod,然后对符合条件的pod根据调度优选算法为这些 Pod 分配节点(更新 Pod 的 NodeName 字段)。
  • Controller-Manager(控制器管理器,controller针对node进行健康状态监控)
    • Controller Manager 由 kube-controller-manager 和 cloud-controller-manager
      组成,是 Kubernetes 的大脑,它通过 apiserver 监控整个集群的状态,并确保集群处于预期的工作状态。
  • etcd
    • 负责保存 Kubernetes Cluster 的配置信息和各种资源的状态信息。当数据发生变化时,etcd 会快速地通知 Kubernetes 相关组件。

node上重要的组件:

  • kubelet

    • 可以理解为管理维护pod运行的agent,接受任务并试图启动容器(要依赖容器引擎)
  • 容器引擎(最流行的docker,也可以是其他)
  • kube-proxy
    • node之上的守护进程,随时与apiserver通信,用于管理node上的各service的规则。

允许自托管:(kubernetes运行在kubernetes自身之上)

  • 在kubernetes中,最小单位是pod,逻辑的。一个pod中,可以有多个容器。
  • 在调度器中,调度的是pod。一个pod中的所有容器,只能运行在同一个node主机上。
  • 在kubernetes中,为了更好的管理pod,使用Label,是一个key:value格式的,其中key是有一个定的标准的,定义国有,在使用Label selector标签选择器来管理。
  • 集群示意图

pod的基本概念

Pod:kubernetes中的最小单位,类似于宿主机上的虚拟机,每个pod上可以运行一个或多个容器。

pod的重要组成部分:

  • Label

    • 附加到pod上,对pod进行身份识别和过滤
  • Lable Selectes
    • 筛选label符合要求的pod资源,注意:lable不仅仅pod上使用,所有对象都可以有lable。
pod分类
  • 自主式Pod
  • 控制器管理的Pod

Replication Controller:副本控制器
ReplicaSet:副本集控制器,几乎不直接使用,多用Deployment
Deployment:常用,只能用于管理无状态的应用
StatefulSet:用于管理有状态的应用
DaemonSet:只运行一个副本
Job:作业
Ctonjob:周期性任务作业

kubernetes网络

kubernetes中有三种网络:

  • 节点网络
  • 集群网络 service调度的网络(service为后端pod提供固定地址,虚拟的,只存在于iptables规则中)
  • Pod网络

三类通信:

  • 同一个Pod内多个容器通信: lo
  • 各Pod之间的通信(通过叠加网络即可)
  • Pod与Service之间的通信(pod通讯地址指向网关即可与service通信)

一,Devops核心要点及kubernetes的架构概述的更多相关文章

  1. 01-Devops核心要点及Kubernetes架构概述

    Brog 自动装箱,自动修复,水平扩展,服务发现和负载均衡,自动发布和回滚 密钥和配置管理,存储编排,批量处理执行

  2. Java生鲜电商平台-SpringCloud微服务架构中核心要点和实现原理

    Java生鲜电商平台-SpringCloud微服务架构中核心要点和实现原理 说明:Java生鲜电商平台中,我们将进一步理解微服务架构的核心要点和实现原理,为读者的实践提供微服务的设计模式,以期让微服务 ...

  3. 浅谈Kubernetes生产架构

    注意本文,只是笔者针对Kubernetes生产环境运行的一些关于架构设计和实现方案的总结,内容很粗糙,同时也会不断完善. 首先,我们来梳理下Kubernetes生产架构,其设计适用于绝大多数环境.如下 ...

  4. Kubernetes系列02—Kubernetes设计架构和设计理念

    本文收录在容器技术学习系列文章总目录 1.Kubernetes设计架构 Kubernetes集群包含有节点代理kubelet和Master组件(APIs, scheduler, etc),一切都基于分 ...

  5. 了解Kubernetes主体架构(二十八)

    前言 Kubernetes的教程一直在编写,目前已经初步完成了以下内容: 1)基础理论 2)使用Minikube部署本地Kubernetes集群 3)使用Kubeadm创建集群 接下来还会逐步完善本教 ...

  6. Kubernetes生产架构浅谈

    注意 本文,只是笔者针对Kubernetes生产环境运行的一些关于架构设计介绍. 介绍 基于 Kubernetes 系统构建的统一开发运维管控平台.在 Kubernetes 基础上,围绕 微服务系统的 ...

  7. (转)Kubernetes设计架构

    转:https://www.kubernetes.org.cn/kubernetes设计架构 Kubernetes集群包含有节点代理kubelet和Master组件(APIs, scheduler, ...

  8. 从零开始入门 K8s | Kubernetes 存储架构及插件使用

    本文整理自<CNCF x Alibaba 云原生技术公开课>第 21 讲. 导读:容器存储是 Kubernetes 系统中提供数据持久化的基础组件,是实现有状态服务的重要保证.Kubern ...

  9. 第21 章 : Kubernetes 存储架构及插件使用

    Kubernetes 存储架构及插件使用 本文将主要分享以下三方面的内容: Kubernetes 存储体系架构: Flexvolume 介绍及使用: CSI 介绍及使用. Kubernetes 存储体 ...

随机推荐

  1. 判断对象当中有没有某一个属性(AS,JS,Java语言比较)

    1.AS 首先说说AS里面如何判断,AS现在很少用这个语言了,当时我们公司的项目当中还有,所以就拿出来一块比较一下,代码如下: //利用Object属性判断 if("name" i ...

  2. Python中的变量和作用域详解

    Python中的变量和作用域详解 python中的作用域分4种情况: L:local,局部作用域,即函数中定义的变量: E:enclosing,嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部 ...

  3. Apache POI读取Excel

    1.pom.xml配置文件 <!-- 配置Apache POI --> <dependency> <groupId>org.apache.poi</group ...

  4. SqlServer:SqlServer(数据库备份,数据文件迁移,增加数据库文件组,递归查询一周报送情况,查询近X天未报送单位,截断数据库日志,复制单个或多个数据库表到另一个数据库 )

    1.数据备份 ) ) ) )),'-','') ) SET @savePath = 'f:/DatabaseBackup/' DECLARE My_Cursor CURSOR FOR ( select ...

  5. JavaScript Cookie常用设置

    cookie是一种早期的客户端存储机制,起初是针对服务器端脚本设计使用的,只适合存储少量文本数据.从最底层来看,作为HTTP协议的一种扩展实现它.cookie数据会自动在Web浏览器和Web服务器之间 ...

  6. IIS7多站点ssl配置及http自动跳转到https

    SSL证书配置参考如下: http转https实战教程iis7.5 window08 IIS7安装多域名SSL证书绑定443端口 关键是修改C:\Windows\System32\inetsrv\co ...

  7. // TODO Auto-generated method stub 作用及设置

    当我们创建一个主方法类时,eclipse会默认插入一条注释语句: // TODO Auto-generated method stub 作用: // TODO Auto-generated metho ...

  8. SqlServer中union 和 union all的区别

    ⒈UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同.⒉对重复结果的处理:UNION在进行表链接后会筛选掉重复的数据,UNION ALL不会去除重复的 ...

  9. Python 入门 之 双下方法

    Python 入门 之 双下方法 1.双下方法 ​ 定义:双下方法是特殊方法,它是解释器提供的 由双下划线加方法名加双下划线 方法名的具有特殊意义的方法,双下方法主要是python源码程序员使用的,我 ...

  10. CentOS 7 yum安装LAMP,LNMP并搭建WordPress个人博客网站

    本次实验要进行的是在CentOS7.2,内核版本3.10.0-327.el7.x86_64的环境下搭建LAMP和LNMP,并在此之上做一个WordPress博客网站. [root@Shining ~] ...