kubernetes学习-概念及特点

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: kubernetes学习-概念及特点

@[TOC]

1.什么是kubernetes

  • kubernetes,简称K8s,是用8代替8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。
  • Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。
  • 在Kubernetes中,我们可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现、访问,而这些细节都不需要运维人员去进行复杂的手工配置和处理。

简单来说,主要是以下三个特点:

  • 可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)
  • 可扩展: 模块化,插件化,可挂载,可组合
  • 自动化: 自动部署,自动重启,自动复制,自动伸缩/扩展

    2.为什么使用kubernetes

    使用K8S的原因很多,最主要的还是时代的进步,技术的更替,K8S是时代的产物。

    3.使用kubernetes的好处

  • ==容易学习==:轻量级,入门简单,容易理解,方便练习

  • ==使用便捷==:支持公有云,私有云,混合云,多重云
  • ==自我修复==:自动重调度,自动重启,自动复制
  • ==灵活扩展==:自动部署,自动重启,自动复制,自动伸缩/扩展

    4.kubernetes的组件有什么

  • Master节点

Master组件提供集群的管理控制中心。
Master组件可以在集群中任何节点上运行。但是为了简单起见,通常在一台VM/机器上启动所有Master组件,并且不会在此VM/机器上运行用户容器。请参考构建高可用群集以来构建multi-master-VM。

master 备注
kube-apiserver 用于暴露Kubernetes API。任何的资源请求/调用操作都是通过kube-apiserver提供的接口进行。请参阅构建高可用集群
ETCD 提供默认的存储系统,保存所有集群数据,使用时需要为etcd数据提供备份计划
kube-controller-manager 运行管理控制器,它们是集群中处理常规任务的后台线程。逻辑上,每个控制器是一个单独的进程,但为了降低复杂性,它们都被编译成单个二进制文件,并在单个进程中运行(==节点== ==副本== ==单点== ==Service Account和Token控制器==)
cloud-controller-manager 云控制器管理器负责与底层云提供商的平台交互。仅运行云提供商特定的(controller loops)控制器循环。可以通过将--cloud-providerflag设置为external启动kube-controller-manager ,来禁用控制器循环。(==节点控制器== ==路由控制器== ==Service控制器== ==卷(Volume)控制器== )
kube-scheduler 监视新创建没有分配到Node的Pod,为Pod选择一个Nod。
addons(插件) 实现集群pod和Services功能的。Pod由Deployments,ReplicationController等进行管理。Namespace 插件对象是在kube-system Namespace中创建
DNS 虽然不严格要求使用插件,但Kubernetes集群都应该具有集群 DNS,群集 DNS是一个DNS服务器,能够为 Kubernetes services提供 DNS记录,由Kubernetes启动的容器自动将这个DNS服务器包含在他们的DNS searches中
用户界面 kube-ui提供集群状态基础信息查看
容器资源监测 容器资源监控提供一个UI浏览监控数据
Cluster-level Logging 负责保存容器日志,搜索/查看日志
  • Node节点

节点组件运行在Node,提供Kubernetes运行时环境,以及维护Pod。

Node 备注
kubelet 主要的节点代理,它会监视已分配给节点的pod,具体功能:安装Pod所需的卷 ,下载Pod的Secret(volume),Pod中运行的 docker(或experimentally,rkt)容器,定期执行容器健康检查
kube-proxy 通过在主机上维护网络规则并执行连接转发来实现Kubernetes服务抽象
docker 运行容器
RKT 运行容器,作为docker工具的替代方案
supervisord 是一个轻量级的监控系统,用于保障kubelet和docker运行(守护)
fluentd 一个守护进程,可提供cluster-level logging
相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
2月前
|
Kubernetes 调度 Perl
在K8S中,Pod亲和性概念是什么?
在K8S中,Pod亲和性概念是什么?
|
8天前
|
Kubernetes API Docker
跟着iLogtail学习容器运行时与K8s下日志采集方案
iLogtail 作为开源可观测数据采集器,对 Kubernetes 环境下日志采集有着非常好的支持,本文跟随 iLogtail 的脚步,了解容器运行时与 K8s 下日志数据采集原理。
|
5月前
|
Kubernetes 应用服务中间件 Docker
Kubernetes学习-集群搭建篇(二) 部署Node服务,启动JNI网络插件
Kubernetes学习-集群搭建篇(二) 部署Node服务,启动JNI网络插件
|
1天前
|
Kubernetes 持续交付 微服务
深入浅出:理解 Kubernetes 核心概念
Kubernetes 是一个由 Google 开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。它已成为微服务架构下的行业标准。本文深入浅出地介绍了 Kubernetes 的核心概念和组件,包括 Master 和 Node 组件、Pod、Service、Deployment 等,并提供了基本操作示例和实战应用,帮助你更好地管理和利用容器环境。
|
2月前
|
Kubernetes 负载均衡 安全
在k8S中,网络模型概念是什么?
在k8S中,网络模型概念是什么?
|
2月前
|
存储 Kubernetes Cloud Native
在k8S中,rook概念是什么?
在k8S中,rook概念是什么?
|
2月前
|
JSON Kubernetes Cloud Native
在k8S中,CNI模型概念是什么?
在k8S中,CNI模型概念是什么?
|
2月前
|
消息中间件 Kubernetes 数据库
在k8S中,初始化容器(init container)概念原理是什么?
在k8S中,初始化容器(init container)概念原理是什么?
|
2月前
|
存储 Kubernetes Docker
在K8S中,与K8S相关基础概念有哪些?
在K8S中,与K8S相关基础概念有哪些?
|
3月前
|
Kubernetes 负载均衡 Cloud Native
Kubernetes经典理论与核心概念解析
Kubernetes经典理论与核心概念解析
下一篇
无影云桌面