第七章 云原生生态的基石 Kubernetes
7.1 Kubernetes架构
K8s的核心组件:
- etcd: 协同存储,负责保存整个集群的状态。
- API:资源操作的唯一入口。
- controller manager: 维护集群的状态,执行故障检测、自动扩展、滚动更新。
- Scheduler:负责资源调度,按照预定的调度策略将Pod调度到相应的机器上。
- Kubelet: 作为工作节点负责维护容器的生命周期。
- 容器运行时: 镜像管理,实现Pod和容器的真正运行。
- Proxy: 负责提供集群内部的服务发现和负载均衡。
推荐使用插件:
CoreDNS;DNS 服务。
Ingress Controller: 外网入口
Prometheus: 资源监控
Dashboard: 提供GUI
Federation: 提供跨可用区的集群
7.2 分层设计理念及架构模型
不是命令式设计模式,而是声明式设计模式。
7.3 设计哲学
7.4 Kubernetes中的原语
7.4.1 Kubernetes中的对象
在k8s系统中,对象是持久化的条目。K8s中对象描述有如下信息:
- 哪些容器化应用在运行,运行在哪个node上。
- 与应用表现相关的策略,比如重启、升级、容错策略。
7.4.2 对象的期望状态与实际状态
Kubernetes会保证期望状态和实际状态一致。 比如副本的数量。
7.4.3 描述Kubernetes对象
Pod是K8s的基本调度单位。
7.4.4 服务发现与负载均衡
K8s中的服务发现和负载均衡大致可以分为以下几种,
Service: 提供集群内部的负载均衡
Ingress: 要自定义负载均衡器,让外部客户访问集群。
Custom Load Balancer: 自定义负载均衡器替代kube-proxy.
7.4.5 安全性与权限管理
K8s中的隔离:
网络隔离:
资源隔离:Pod, Namespace
身份隔离:RBAC
资源隔离层次:
Container:
Pod:
Sandbox:
Node
Cluster:
7.4.6 Sidecar设计模式
代理进程作为sidecar,与应用程序运行在同一个Pod。其在service mesh中发扬光大。
7.5 应用Kubernetes
如何将遗留的应用迁到K8s上:
1. 将原来的应用拆解为服务。
2.定义服务接口通信方式
3. 编写启动脚本作为容器进程的入口
4.准备应用配置文件
5.应用容器化并制作镜像
6.准备K8s用的YAML文件
7.如果有外置的配置文件,需要ConfigMap或Secret存储。
7.6 Kubernetes与云原生生态
K8s缺乏微服务自理能力; 也未提供CI/CD流程;
7.6.1 下一代云计算标准
7.6.2 当前存在的问题
学习成本高
对微服务治理不足。
需要写大量YAML文件。
7.6.3 未来趋势
引入Service Mesh
Serverless
简化应用部署与运维:监控和日志收集
第七章 云原生生态的基石 Kubernetes的更多相关文章
- [转帖]Kubernetes v1.17 版本解读 | 云原生生态周报 Vol. 31
Kubernetes v1.17 版本解读 | 云原生生态周报 Vol. 31 https://www.kubernetes.org.cn/6252.html 2019-12-13 11:59 ali ...
- 云原生生态周报 Vol. 3 | Java 8 ❤️ Docker
摘要: Docker Hub遭入侵,19万账号被泄露:Java 8 终于开始提供良好的容器支持:Snyk 年度安全报告出炉,容器安全问题形势空前严峻. 业界要闻 Docker Hub遭入侵,19万账号 ...
- 云原生生态周报 Vol. 5 | etcd性能知多少
业界要闻 1 Azure Red Hat OpenShift已经GA.在刚刚结束的Red Hat Summit 2019上,Azure Red Hat OpenShift正式宣布GA,这是一个微软和红 ...
- 云原生生态周报 Vol. 6 | KubeCon EU 特刊
5 月 26日,2019 年第一个 KubeCon + CloudNativeCon 在巴塞罗那成功闭幕.本届 KubeCon 共吸引了超过 7700 名与会者,相较去年哥本哈根大会的 4300 余名 ...
- 如何将云原生工作负载映射到 Kubernetes 中的控制器
作者:Janakiram MSV 译者:殷龙飞 原文地址:https://thenewstack.io/how-to-map-cloud-native-workloads-to-kubernetes- ...
- 云原生生态周报 Vol. 17 | Helm 3 发布首个 beta 版本
本周作者 | 墨封.衷源.元毅.有济.心水 业界要闻 1. Helm 3 首个 beta 版本 v3.0.0-beta.1 发布 该版本的重点是完成最后的修改和重构,以及移植其他 Helm 2 特性. ...
- Knative 暂时不会捐给任何基金会 | 云原生生态周报 Vol. 22
作者 | 新胜.心贵.进超.元毅.衷源 业界要闻 谷歌:不会向任何基金会捐赠 Knative 自 Knative 项目开始以来,一直存在关于是否将 Knative 捐赠给基金会(例如 CNCF)的疑问 ...
- 2019 年容器生态统计报告发布 | 云原生生态周报 Vol. 26
作者 | 酒祝.天元.元毅.心水.衷源 业界要闻 1.2019 年容器生态统计报告发布 据报告显示,Kubernetes 占据 77% 的容器编排产品份额,Docker 占据 79% 的容器引擎产品 ...
- 云原生生态周报 Vol.10 | 数据库能否运行在 K8s 当中?
业界要闻 IBM 以总价 340 亿美元完成里程碑意义的红帽收购:这是这家拥有 107 年历史的公司史上规模最大的一笔收购,该收购金额在整个科技行业的并购史上也能排到前三.在当天公布的声明中,IBM ...
随机推荐
- Ubuntu 系统安装教程
- Node.js 自学之旅(初稿篇)
学习基础,JQuery 原生JS有一定基础,有自己一定技术认知(ps:原型链依然迷糊中.闭包6不起来!哎!) 当然最好有语言基础,C#,java,PHP等等.. 最初学习这个东西的原因很简单,在园子里 ...
- Codeforces 1172D. Nauuo and Portals 构造
原文链接www.cnblogs.com/zhouzhendong/p/CF1172D.html 前言 明哥神仙打cf方式真潇洒.45分钟切D后就不打了? 我当场爆肝D想错方向不会做自闭了. 题解 考虑 ...
- mac Understand 安装破解
下载:链接:https://pan.baidu.com/s/1UvxgFnjv9pRVJmZO-J2OrQ 密码:nyd4 启动后,开始激活,点击enter License code 点击“use ...
- 采用正则表达式实现startWith、endWith效果函数
startsWith函数,时Java中的 在js使用时他并不是每个浏览器都有的,所以我们一般要重写一下这个函数 采用正则表达式实现startWith.endWith效果函数 String.protot ...
- Java中对象并不是都在堆上分配内存的
转(https://blog.51cto.com/13906751/2153924) 前段时间,给星球的球友们专门码了一篇文章<深入分析Java的编译原理>,其中深入的介绍了Java中的j ...
- linux10.日志服务器建立和克隆机的网卡问题
日志服务器建立 克隆虚拟机网卡混乱问题处理 vim /etc/udev/rules.d/70-perisistent-net.rules 调整mac地址与设备的对应关系 ...
- Shell修改密码为原密码
密码到期后更改密码为原密码,服务器多时工作量巨大,编写脚本完成. 登陆后修改提示符为: doraemon# 方便expect匹配 修改LANG=C,提示为英文防止干扰: #!/usr/bin/expe ...
- Thingsboard开发环境搭建及编译项目
第一部分:JDK 1,下载JDK, JDK地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133 ...
- word: 插入或修改文字时后面的字消失 解决办法
在编辑Word文档中的文字时,我们有时需要插入或修改文字,可是在插入或修改时会发现改动处后面的文字会消失.比如插入或修改3个字,后面的文字随之也会消失3个,这时该怎么办呢? 点击-“文件”-“选项”- ...