云原生之路02Kubernetes快速入门

网友投稿 629 2022-05-30

云原生之路02之Kubernetes

第三章 Kubernetes系统快速入门

云中资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按需付费,像水电一样使用IT基础设施

K8S 架构分层

生态系统: 不属于K8S,第三方

接口层:工具,UI,SDK库 等外围工具,外部可提供自有的实现

治理层:策略执行和自动化编排

应用层:部署(无状态/有状态应用,批处理,集群应用等)和路由(服务发现,DNS解析等),会提供默认实现,可以替换为各自的实现,但必须通过一致性测试

内核层:k8s最核心功能,对外提供API构建高层的应用,对内提供插件式应用执行环境,为必选模块。等同于Linux的Kernel

Kuberbets概览

模型对象

Pod:能够创建,调度和管理的最小部署单元

Service:一个Pods的逻辑集合和访问这个集合的策略

Deployment:无状态工作负载

StatefulSet:有状态工作负载

增删改查–apiserver

功能组件

Master:

apiserver

Scheduler: Pod调度

Controller Mannager: 升级运维、扩容缩容

Node

kubelet: 部署启动、运行监控

Kube-proxy: 服务发现

功能特性

Pod调度

部署启动

运行监控

服务发现

云原生之路02之Kubernetes快速入门

升级运维

扩容缩容

Pod

Pods是能够创建,调度和管理的最小部署单元,是一组容器的集合

同一个pod里的容器共享同一个网络命名空间,IP地址及端口空间。

pod是短暂的应用,pods被调度到节点,保持在这个节点上直到被销毁。

Infrastructure Container:基础容器

用户不可见,无需感知

维护整个pod网络空间

InitContainers:初始化容器:用于服务等待处理以及注册pod信息等

先于业务容器开始执行

顺序执行,执行成功退出,全部执行成功后开始其他业务容器。

Containers:业务容器

并行启动,启动成功后一直运行Running。

镜像部分

镜像地址和拉取策略

拉取镜像的认证凭据

启动命令

command:替换docker容器的entrypoint

args:作为docker容器entrypoint的入参

计算资源

请求值:调度依据

限制值:容器最大能使用的规格

Pod可以接收的外部输入方式:环境变量,配置文件以及密钥

环境变量:使用简单,但一旦变更后必须重启容器

Key-value 自定义

From 配置文件(configmap)

From 密钥(Secret)

以卷形式挂载到容器内使用,权限可控

配置文件(configmap)

秘钥(Secret)

通过label-selector和owerReference相关联

Pod通过工作负载实现应用的运维,如伸缩,升级等。

关键工作负载 ReplicaSet

ReplicaSet-副本控制器

确保Pod的一定数量的份数(replica)在运行。如果超过这个数量,控制器会杀死一些,如果少了,控制器会启动一些

ReplicaSet用于解决pod的扩容和缩容问题

通常用于无状态应用

关键工作负载 Deployment

更新Pod 和 ReplicaSet

集成了上线部署、滚动升级、创建副本、暂停上线任务、恢复上线任务、回滚到以前某一版本(成功/稳定)的Deployment等功能。无人值守的上线,避免沟通、操作的风险

K8S系统组件

为 pod 找到一个合适的 Node

Default scheduler 基于列队的调度器,一次调度一个pod,调度时刻全局最优

Demo 城市天气预报

Kubernetes 云原生

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:GaussDB(DWS)通信库libpq重构介绍(一)
下一篇:Linux之time命令
相关文章