kubernetes系列教程(一)初探kubernetes功
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,1. kubernetes简介1.1 kubernetes介绍Kubernetes是google开源的一套微服务,容器化的编排引擎,是google内部容器十多年实战沉淀的结晶,已战胜Swarm,Mes
千家信息网最后更新 2025年02月02日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包含两种角色: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的路由,实现集群内部和外部网络的访问。
其他组件还包括
- cloud-controller-manager,用于公有云的接入实现,提供节点管理(node),路由管理,服务管理(LoadBalancer和Ingress),存储管理(Volume,如云盘,NAS接入),需要由公有云厂商实现具体的细节,kubernetes提供实现接口的接入,如腾讯云目前提供CVM的node管理,节点的弹性伸缩(AS),负载均衡的接入(CLB),存储的管理(CBS和CFS)等产品的集成;
- DNS组件由kube-dns或coredns实现集群内的名称解析;
- kubernetes-dashboard用于图形界面管理;
- kubectl命令行工具进行API交互;
- 监控系统用于采集node和pod的监控数据,如prometheus,heapster+influxdb+grafana;
- 日志采集系统,用于收集容器的业务数据,实现日志的采集,存储和展示,实现有Fluentd+ELK(ElasticSearch+Logstash+Kiabana)。
1.3 参考文档
kubernetes功能介绍,https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/
- kubernetes组件介绍https://kubernetes.io/docs/concepts/overview/components/
返回kubernetes系列教程目录
**如果觉得文章对您有帮助,请订阅专栏,分享给有需要的朋友吧
集群
节点
存储
管理
容器
数据
接入
功能
状态
组件
资源
服务
调度
一致
均衡
弹性
运行
配置
一致性
业务
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库系统建立论文
opc服务器和客户端是什么意思
深圳兰帕网络技术有限公司
三级网络技术不考试停考吗
滦南企业网络技术答疑解惑
电商平台软件开发服务
软件模型在软件开发中有哪些作用
密码技术网络安全公司
数据库设计基础表格
网络安全建管中心
外网ip映射内网服务器
数据库 原型
下载小说软件开发
2017网络安全成果
云服务器老用户为什么这么贵
查询数据库的id的sql语句
防溺水网络安全消防知识手抄报
pg数据库删除表索引
信息安全网络安全的意义
浙江银河网络技术有限公司
联警打击网络安全成典范
a5m2数据库过滤怎么用
网易云课堂微专业网络安全怎么样
中职技能大赛网络安全
网络技术公司有哪些职位
四川软件开发项目费用测算
万州网络安全培训机构
初级软件开发工程师要求
php查询最新时间数据库
数据库怎么备份一条数据