参考链接

  • 通过实例快速掌握k8s(Kubernetes)核心概念https://blog.csdn.net/weixin_38748858/article/details/102132544

    如何理解 K8S

    Docker 是容器。K8S 是容器编排服务。

    啥叫容器编排

    可以用 supervisor 来理解。supervisor 是单机监控进程的。那要是监控一个集群呢?使用 supervisor 就力不从心了。
    容器也是如此。Docker 可以用来管理单个容器。
    但是企业级的线上服务,不能在一台机上部署一个 Docker, 必须有跨机器多实例部署然后用 Nginx 等负载均衡代理成 1 个服务对外输出。
    K8S 就是做这个的,有容器、节点、服务、集群、部署等概念,方便我们对集群进行管理。

    5 个核心概念

    核心概念一共只有4个,Pod,部署(Deployment),服务(Service)和节点(Node)。另外再加上一个容器镜像(Docker Image),这个是Docker引擎的核心。

    阿里云上 K8S 功能划分

    image.png

    pod/镜像

    Pod是k8是的最基本概念,你可以把它看成是对容器(container)的一个封装,用来管理容器。一个Pod里可以管理有一个或多个容器,但一般是一个。

K8s 原来是 Google 的,谷歌又没有用 Docker。所以 pod 和镜像就想象成一个事务两个名称就好。

节点/集群

节点和集群都是从资源(机器)角度来看的。
image.png

  • 节点对应机器。1个节点就代表1台机器。
  • 多个节点构成一个集群。

    应用

    image.png

    无状态/有状态

  • 有状态指的是数据库这种,节点挂掉重启后会恢复到原来的状态的。也就是说里面的数据不能丢。

  • 有状态

    重要-创建 Web 应用

    链接:镜像创建无状态 Deployment 应用,https://help.aliyun.com/document_detail/90406.html?spm=a2c4g.11186623.6.575.2aa752d2EFFEr0

    部署

    k8s 部署是用来生成一个 yaml,阿里云对部署进行了封装,只需要点击新建应用,填写一些数据就可以了。

    服务

    阿里云对应的模块:
    image.png

    Service是最上层的k8s的对象,可以看成我们平常说的微服务。对服务来讲最重要的就是服务注册和发现。在k8s中,Service就是用来实现这个功能的。

service 就是对外界暴露的, 外部端点就是外界可以访问的点。
image.png

创建服务

参考文档:https://help.aliyun.com/document_detail/86512.html?spm=5176.2020520152.0.0.32ae16dd44LeEZ
阿里云也可以直接创建服务,关联的是已有的应用。
image.png

创建 deployment

  1. 登录容器服务管理控制台
  2. 在 Kubernetes 菜单下,单击左侧导航栏中的应用 > 无状态,进入无状态(Deployment)页面。
  3. 单击页面右上角的使用模板创建

    外部流量策略

  • 外部流量策略:可选值为Local或Cluster。
    说明 您的服务类型为节点端口负载均衡时,才能设置外部流量策略