1.k8s(kubernetes简称)

    1).什么是k8s
    Kubernetes 是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化
    k8s官方教程
    2).k8s能做什么
    可以实现容器伸缩、部署回滚、存储编排、自我修复、服务发现和负载均衡、权限管理等功能
        (1).多进程协同工作
        (2).应用实例扩容缩容
        (3).服务负载均衡
        (4).应用健康检查
        (5).平滑版本更新
        (6).服务调度
        (7).认证授权管理

2.k8s组件

    1).node(节点):指的是服务器
    2).master node(管理节点):管理集群,分配任务
        (1).kube-apiserver:集群的控制入口,组件内的通讯以及处理外部请求都是通过apiserver去处理的
        (2).controller-manager:集群中资源自动化控制中心
        (3).kube-scheduler:负责pod的调度
    3).work node(管理节点):工作节点,执行任务
        (1).kubelet :一个在集群中每个节点(node)上运行的代理。它负责pod的创建、启动、重启、监控、销毁等工作
        (2).kube-proxy:是集群中每个节点上运行的网络代理,实现通讯和负载均衡
        (3).Pod:是 Kubernetes 部署应用或服务的最小的基本单位。一个Pod 封装多个应用容器(也可以只有一个容器)、存储资源、一个独立的网络 IP 以及管理控制容器运行方式的策略选项
        (4).ReplicaSet:是pod副本集,负责pod的扩容和伸缩,可以根据replica的参数实现到底复制几个pod
        (5).Deployment(部署):主要用于部署应用,支持滚动升级。内部使用ReplicaSet来实现,通过生成相应的ReplicaSet(副本)来实现Pod的复制工作,当有pod挂了后Deployment就会重新创建一个pod,保证pod副本的数量
        (6).service(服务):service是一个服务的抽象,它由kube-proxy和多个pod集合在一起完成一个服务工作。service定义了服务的访问ip地址,调用者可以通过service提供的地址访问service,service会通过轮询去随机转发到pod去执行
在这里插入图片描述

    4).web 界面:Dashboard 是 Kubernetes 集群的通用的、基于 Web 的用户界面。 它使用户可以管理集群中运行的应用程序以及集群本身并进行故障排除
    5).Ingress:是一种网关服务,可以将k8s服务通过http协议暴露到外部
    6).etcd:etcd是一个存储k8s配置文件的后台服务,不仅存储k8s的配置信息,还存储着node节点、pod和网络信息等
在这里插入图片描述

3.k8s运行机制

在这里插入图片描述

4.基于k8s的常见web应用部署架构

在这里插入图片描述

5.k8s的一些端口介绍

        (1).port是k8s集群内部访问service的端口
        (2).nodePort是外部访问k8s集群中service的端口
        (3).targetPort是pod的端口,从port和nodePort来的流量经过kube-proxy流入到后端pod的targetPort上,最后进入容器
        (4).containerPort是pod内部容器的端口,targetPort映射到containerPort
在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐