• 【Devops】 Kubernetes 入门与基础


    前言:

    公司项目中部署是使用K8s集群进行部署的,所以特做笔记和感悟如下:

    Kubernetes 是什么,为什么要用它?

    Kubernetes(简称K8s)源自Google,是一种基于Docker容器的容器集群管理系统。

    Kubernetes为容器化的应用提供了资源调度、部署运行、服务发现、运行时扩容缩容等整一套解决方案,利用Kubernetes提供的功能,我们可以非常方便的管理不同主机上部署在容器的应用。

    --------------------------------------------------------------------------------------------------------

    背景:

    企业的发布从之前的单机器部署,按计划(一个月,2周)发布上线已经逐步演变成:  云上部署,微服务, 按需部署(要求随时上线)

    那么容器技术就应运而生,通过容器配置好发布需要测环境变量和参数,设置好网络安全访问规则。需要做到 "writer once , run anywhere" 

    Docker作为一种容器技术已经成为了业界事实上的标准,真正实现了"writer once , run anywhere"  开发者只需要一个镜像就能发布到集群的任意一个节点。

    Google 公司在Docker尚未提出自己的容器编排技术的时候直接开源了K8s,可以说占尽先机; (参考谷歌开源的大数据框架,基本等于一次业内变革)

    容器编排调度引擎 —— k8s 的优势

    • 自动化容器的部署和复制
    • 随时扩展或收缩容器规模
    • 将容器组织成组,并且提供容器间的负载均衡
    • 很容易地升级应用程序容器的新版本
    • 提供容器弹性,如果容器失效就替换它,等等...

    严格上来说,使用Kubernetes只需一个部署文件,使用一条命令就可以部署多层容器(前端,后台等)的完整集群:

    kubectl create -f deploy.yaml  

    K8s 的集群

     如图所示,K8s集群分为一个mater节点,N个node子节点;

    1. master节点里面包括 API server, Replication-controller 等组件 (可以在此节点操作整个k8s集群)

      1.1 Service会完成如下两件重要的事情:

      • 会为Service创建一个本地集群的DNS入口,因此前端Pod只需要DNS查找主机名为 ‘backend-service’,就能够解析出前端应用程序可用的IP地址。
      • 现在前端已经得到了后台服务的IP地址,但是它应该访问2个后台Pod的哪一个呢?Service在这2个后台Pod之间提供透明的负载均衡,会将请求分发给其中的任意一个(如下面的动画所示)。通过每个Node上运行的代理(kube-proxy)完成。

      1.2 Replication Controller确保任意时间都有指定数量的Pod“副本”在运行。如果为某个Pod创建了Replication Controller并且指定3个副本,它会创建3个Pod,并且持续监控它们。

            如果某个Pod不响应,那么Replication Controller会替换它,保持总数为3.

    2. node子节点里面包含了多个pod, pod里面可以有多个container (注意node是实体化的,有具体的主机和IP地址,Pod 是一个虚拟单元,可以随时创建和删除)

       通常称为Minion。每个节点都运行如下Kubernetes关键组件:

      • Kubelet:是主节点代理。
      • Kube-proxy:Service使用其将链接路由到Pod,如上文所述。
      • Docker或Rocket:Kubernetes使用的容器技术来创建容器。

     

    K8s 集群简图:

  • 相关阅读:
    C语言I博客作业07
    C语言I博客作业06
    C语言I博客作业05
    C语言I博客作业04
    C语言I博客作业02
    Django连接MySql数据库
    asyncio异步编程
    Django-rest framework框架
    Git版本管理工具详细教程
    MySQL的sql_mode模式说明及设置
  • 原文地址:https://www.cnblogs.com/Ronaldo-HD/p/12982043.html
Copyright © 2020-2023  润新知