Kubernetes
- 一、Kubernetes 概述
- 1.Kubernetes 是什么?
- 2. Kubernetes 的作用
- 3. 为什么要用 Kubernetes?
- 4. Kubernetes 的概念
- 5. Kubernetes 的主要功能
- 6. Kubernetes 集群架构与组件
- 二、Kubernetes 的组件
- 1. Master 组件
- 1.1 Kube-apiserver
- 1.2 Kube-controller-manager
- 1.3 Kube-scheduler
- 2. 配置存储中心
- etcd
- 3. Node 组件
- 3.1 Kubelet
- 3.2 Kube-Proxy
- 3.3 docker 或 rocket
- 三、Kubernetes 的工作流程
- 四、Kubernetes 核心概念
- 1. Pod
- 2. Pod 控制器
- 2.1 Deployment
- 2.2 Replicaset
- 2.3 Daemonset
- 2.4 Statefulset
- 2.5 Job
- 2.6 Cronjob
- 3. Label
- 4. Label 选择器(Label selector)
- 5. Service
- 6. Ingress
- 7. Name
- 8. Namespace
- 总结
- 1. K8S 有哪些组件?
- 2. 组件的作用?
- 3. K8S 工作流程
- 4. K8S 资源对象
- 5. K8S 资源配置信息
一、Kubernetes 概述
1.Kubernetes 是什么?
kubernetes,简称K8s,是用8代替名字中间的8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。
K8S由google的Borg系统(博格系统,google内部使用的大规模容器编排工具)作为原型,后经GO语言延用Borg的思路重写并捐献给CNCF基金会开源。云原生基金会(CNCF)于2015年12月成立,隶属于Linux基金会。CNCF孵化的第一个项目就是Kubernetes,随着容器的广泛使用,Kubernetes已经成为容器编排工具的事实标准。
官网:https://kubernetes.io
GitHub:https://github.com/kubernetes/kubernetes
2. Kubernetes 的作用
用于自动部署、扩展和管理“容器化(containerized)应用程序”的开源系统。
可以理解成 K8S 是负责自动化运维管理多个容器化程序(比如 Docker)的集群,是一个生态极其丰富的容器编排框架工具。
3. 为什么要用 Kubernetes?
试想下传统的后端部署办法:把程序包(包括可执行二进制文件、配置文件等)放到服务器上,接着运行启动脚本把程序跑起来,同时启动守护脚本定期检查程序运行状态、必要的话重新拉起程序。
设想一下,如果服务的请求量上来,已部署的服务响应不过来怎么办?传统的做法往往是,如果请求量、内存、CPU超过阈值做了告警,运维人员马上再加几台服务器,部署好服务之后,接入负载均衡来分担已有服务的压力。
这样问题就出现了:从监控告警到部署服务,中间需要人力介入!那么,有没有办法自动完成服务的部署、更新、卸载和扩容、缩容呢?
而这就是 K8S 要做的事情:自动化运维管理容器化(Docker)程序。
4. Kubernetes 的概念
K8S是Google开源的容器集群管理系统,在Docker等容器技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群