kubernetes学习-概念及特点

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 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搭建和管理企业级网站应用
相关文章
|
3月前
|
存储 Kubernetes 持续交付
k8s学习
【10月更文挑战第1天】
123 4
|
1月前
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
102 24
|
1月前
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
139 6
|
3月前
|
Kubernetes 应用服务中间件 nginx
k8s学习--YAML资源清单文件托管服务nginx
k8s学习--YAML资源清单文件托管服务nginx
k8s学习--YAML资源清单文件托管服务nginx
|
3月前
|
Kubernetes 监控 测试技术
k8s学习--基于Ingress-nginx实现灰度发布系统
k8s学习--基于Ingress-nginx实现灰度发布系统
157 2
k8s学习--基于Ingress-nginx实现灰度发布系统
|
3月前
|
Prometheus Kubernetes 监控
k8s学习--kubernetes服务自动伸缩之水平伸缩(pod副本伸缩)HPA详细解释与案例应用
k8s学习--kubernetes服务自动伸缩之水平伸缩(pod副本伸缩)HPA详细解释与案例应用
157 1
k8s学习--kubernetes服务自动伸缩之水平伸缩(pod副本伸缩)HPA详细解释与案例应用
|
3月前
|
存储 Kubernetes 调度
|
2月前
|
存储 Kubernetes 调度
K8S中的核心概念
【10月更文挑战第26天】云原生环境下的安全问题易被忽视,导致潜在风险。应用层渗透测试和漏洞扫描是检测安全的关键,尤其是对于CVE漏洞的修复。然而,常见误解认为安全由外部防护处理且不易引入问题。
|
3月前
|
Kubernetes API 调度
k8s学习--pod的所有状态详解(图例展示)
k8s学习--pod的所有状态详解(图例展示)
338 1
|
3月前
|
Kubernetes JavaScript 前端开发
k8s学习--chart包开发(创建chart包)
k8s学习--chart包开发(创建chart包)
160 1