美文网首页
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