美文网首页
K8s 总结

K8s 总结

作者: oasis_m | 来源:发表于2020-01-13 15:24 被阅读0次

    声明:所有文章只作为学习笔记用,转载非原创

    前言 

    从零开始

    https://www.kubernetes.org.cn/kubernetes%e8%ae%be%e8%ae%a1%e6%9e%b6%e6%9e%84

     ----- 重点看看 k8s 基础 包含容器和pod 之间的关系 https://www.cnblogs.com/hanhuibk/p/9645935.html

     k8s是一个有中心节点架构的集群,由master节点(至少三个)和nodes节点(运行容器的节点)组成 。

    https://www.cnblogs.com/wwchihiro/p/9261607.html

    基础概念  亲和性反亲和性

    https://www.cnblogs.com/kevincaptain/p/10454633.html

    认证功能

    https://www.cnblogs.com/pythonPath/p/11267386.html

    docker machine docker compose docker swarm

    https://blog.csdn.net/weixin_30932215/article/details/97556508

    什么是docker-machine,简单来说就是给你快速创建一个docker容器环境的,怎么说呢,如果你要给100台阿里云ECS安装上docker,传统方式就是你一台一台ssh上去安装,但是有了docker-machine就不一样了,你可以快速给100台ecs安装上docker,怎么快速法呢,你看完这文章就知道了。还有就是你要在本地快读创建docker集群环境,我总不能一台一台创建虚拟机吧,所以docker-machine可以解决这个问题。总之docker-machine就是帮助你快速去创建安装docker环境的工具,这样说应该没什么问题吧

    kubectl 的实质就是将yaml文件,或者命令 转换成api请求。

    #MASTER节点:一个Master节点(主节点) 负责管理和控制  Master:节点包括API Server、Scheduler、Controller manager、etcd。

      API Server:是整个系统的对外接口,供客户端和其它组件调用,相当于“营业厅”。 位于master节点,接受用户请求。

      Scheduler:负责对集群内部的资源进行调度,相当于“调度室”。 位于master节点,负责资源调度,即pod建在哪个node节点。

      Controller manager:负责管理控制器,相当于“大总管”。位于master节点,包含ReplicationManager,Endpointscontroller,Namespacecontroller,and Nodecontroller等。

      etcd:分布式键值存储系统,共享整个集群的资源对象信息。

      (k8s使用etcd组件作为一个高可用、强一致性的服务发现存储仓库。用于配置共享和服务发现。)


    #Node节点:一群Node节点(计算节点) 工作负载节点  Node节点包括Docker、kubelet、kube-proxy、Fluentd、kube-dns(可选),还有就是Pod。

      Pod是Kubernetes最基本的操作单元。一个Pod代表着集群中运行的一个进程,它内部封装了一个或多个紧密相关的容器。

      除了Pod之外,K8S还有一个Service的概念,

      一个Service可以看作一组提供相同服务的Pod的对外访问接口。这段不太好理解,跳过吧。

      Kubernetes中,Service是分布式集群架构的核心,一个Service对象拥有如下关键特征:

    拥有一个唯一指定的名字

    拥有一个虚拟IP(Cluster IP、Service IP、或VIP)和端口号

    能够体统某种远程服务能力,被映射到了提供这种服务能力的一组容器应用上, 外部系统访问Service的问题

    首先需要弄明白Kubernetes的三种IP这个问题

        Node IP:Node节点的IP地址

        Pod IP: Pod的IP地址

        Cluster IP:Service的IP地址

    ClusterIP(默认)-在群集的内部IP上公开服务。这种类型使得只能从群集内访问服务。

    NodePort-使用NAT在群集中每个选定节点的相同端口上公开服务。使用可以从群集外部访问服务<NodeIP>:<NodePort>。ClusterIP的超集。

    LoadBalancer-在当前云中创建一个外部负载平衡器(如果支持),并为该服务分配一个固定的外部IP。NodePort的超集。

    ExternalName-externalName通过返回具有该名称的CNAME记录,使用任意名称(在规范中指定)公开服务。不使用代理。此类型需要v1.7或更高版本kube-dns。

    Docker:不用说了,创建容器的。

      Kubelet:主要负责监视指派到它所在Node上的Pod,包括创建、修改、监控、删除等。 位于node节点,负责维护在特定主机上运行的pod。

      Kube-proxy:主要负责为Pod对象提供代理。https://www.cnblogs.com/rexcheny/p/10676503.html

     kube-proxy是Kubernetes的核心组件,部署在每个Node节点上,它是实现Kubernetes Service的通信与负载均衡机制的重要组件; kube-proxy负责为Pod创建代理服务,从apiserver获取所有server信息,并根据server信息创建代理服务,实现server到Pod的请求路由和转发,从而实现K8s层级的虚拟转发网络。

     位于node节点,它起的作用是一个服务代理的角色

      Fluentd:主要负责日志收集、存储与查询。

    相关文章

      网友评论

          本文标题:K8s 总结

          本文链接:https://www.haomeiwen.com/subject/xqtnactx.html