kubernetes系列教程(一)初探kubernetes功能与组件

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: kubernetes系列教程(一)初探kubernetes功能与组件

1. kubernetes简介

1.1 kubernetes介绍

Kubernetes是google开源的一套微服务,容器化的编排引擎,是google内部容器十多年实战沉淀的结晶,已战胜Swarm,Messo成为容器编排的行业标准。kuberntes内置有很多非常优秀的特性使开发者专注于业务本身,其包含的功能如下:

Service discovery and load balancing,服务发现和负载均衡,通过DNS实现内部解析,service实现负载均衡
Storage orchestration,存储编排,通过plungin的形式支持多种存储,如本地,nfs,ceph,公有云快存储等
Automated rollouts and rollbacks,自动发布与回滚,通过匹配当前状态与目标状态一致,更新失败时可回滚
Automatic bin packing,自动资源调度,可以设置pod调度的所需(requests)资源和限制资源(limits)
Self-healing,内置的健康检查策略,自动发现和处理集群内的异常,更换,需重启的pod节点
Secret and configuration management,密钥和配置管理,对于敏感信息如密码,账号的那个通过secret存储,应用的配置文件通过configmap存储,避免将配置文件固定在镜像中,增加容器编排的灵活性
Batch execution,批处理执行,通过job和cronjob提供单次批处理任务和循环计划任务功能的实现
Horizontal scaling,横向扩展功能,包含有HPA和AS,即应用的基于CPU利用率的弹性伸缩和基于平台级的弹性伸缩,如自动增加node和删除nodes节点。
1.2 kubernetes架构

kubernetes整体架构
t7fr34z2kk

kubernetes包含两种角色:master节点和node节点,master节点是集群的控制管理节点,作为整个k8s集群的大脑。

负责集群所有接入请求(kube-apiserver),在整个集群的入口;
集群资源调度(kube-controller-scheduler),通过watch监视pod的创建,负责将pod调度到合适的node节点;
集群状态的一致性(kube-controller-manager),通过多种控制器确保集群的一致性,包含有Node Controller,Replication Controller,Endpoints Controller等;
元数据信息存储(etcd),数据持久存储化,存储集群中包括node,pod,rc,service等数据;
通常由3或5个节点组成高可用集群,其中etcd内置的集群组成,kube-apiserver由haproxy或nginx做负载分发,kube-scheduler和kube-controller-manager内置的选举机制保障,确保集群内同一个时刻只有一个leader节点,其他处于阻塞状态,防止脑裂。

node节点是实际的工作节点,负责集群负载的实际运行,即pod运行的载体,其通常包含三个组件:Container Runtime,kubelet和kube-proxy

Container Runtime是容器运行时,负责实现container生命周期管理,如docker,containerd,rktlet;
kubelet负责镜像和pod的管理,
kube-proxy是service服务实现的抽闲,负责维护和转发pod的路由,实现集群内部和外部网络的访问。

阿里云服务器:活动地址

购买可领取阿里云代金券

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
2天前
|
Kubernetes API 调度
Kubernetes 架构解析:理解其核心组件
【8月更文第29天】Kubernetes(简称 K8s)是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用。它提供了一个可移植、可扩展的环境来运行分布式系统。本文将深入探讨 Kubernetes 的架构设计,包括其核心组件如何协同工作以实现这些功能。
13 0
|
8天前
|
Kubernetes 负载均衡 API
在K8S中,Kube-proxy有什么功能?
在K8S中,Kube-proxy有什么功能?
|
8天前
|
存储 Kubernetes API
在K8S中,Kubernetes的组件有哪些?
在K8S中,Kubernetes的组件有哪些?
|
12天前
|
Kubernetes 监控 Perl
在K8S中,如何具体实现Pod被删除后,还能被自动拉起功能?
在K8S中,如何具体实现Pod被删除后,还能被自动拉起功能?
|
2天前
|
Kubernetes 调度 容器
k8s descheduler 组件安装
k8s descheduler 组件安装
|
8天前
|
存储 Kubernetes API
在K8S中,各组件是如何实现高可用的?
在K8S中,各组件是如何实现高可用的?
|
8天前
|
存储 Kubernetes API
在K8S中,各个组件及其作用是什么呢?
在K8S中,各个组件及其作用是什么呢?
|
8天前
|
Kubernetes 负载均衡 网络协议
在K8S中,DNS组件有什么特性?
在K8S中,DNS组件有什么特性?
|
8天前
|
存储 Kubernetes API
在K8S中,calico有哪些组件?都是做什么的?
在K8S中,calico有哪些组件?都是做什么的?
|
8天前
|
域名解析 Kubernetes 负载均衡
在K8S中,外部访问容器服务,比如说提供了一个域名,链路怎么走?数据经过哪些组件?
在K8S中,外部访问容器服务,比如说提供了一个域名,链路怎么走?数据经过哪些组件?

推荐镜像

更多
下一篇
云函数