kubernetes中文社区

kubernetes(k8s)容器编排工具基础概念

╄→гoц情女王★ 提交于 2020-01-14 00:45:36
kubernetes(k8s)容器编排工具基础概念 Kubernetes (K8s):   中文社区: https://www.kubernetes.org.cn/replication-controller-kubernetes   官网: https://kubernetes.io/   是一个开源系统,用于容器化应用的自动部署、扩缩和管理。Kubernetes 将构成应用的容器按逻辑单位进行分组以便于管理和发现。   Kubernetes 基于 谷歌公司在运行生产负载上的 15 年经验 打造,并融合了来自社区的最佳建议与实践。我们先来看看他的架构图:   要使用 Kubernetes,你需要用 Kubernetes API 对象 来描述集群的 预期状态(desired state) :包括你需要运行的应用或者负载,它们使用的镜像、副本数,以及所需网络和磁盘资源等等。你可以使用命令行工具 kubectl 来调用 Kubernetes API 创建对象,通过所创建的这些对象来配置预期状态。你也可以直接调用 Kubernetes API 和集群进行交互,设置或者修改预期状态。   一旦你设置了你所需的目标状态,Kubernetes 控制面(control plane) 会通过 Pod 生命周期事件生成器( PLEG ),促成集群的当前状态符合其预期状态。为此,Kubernetes

Tungsten Fabric如何编排

这一生的挚爱 提交于 2020-01-14 00:31:07
OpenStack和TF集成 OpenStack是虚拟机和容器的领先的开源编排系统。Tungsten Fabric提供了Neutron网络服务的实现,并提供了许多附加功能。 在OpenStack中,用户组被分配到“项目”,其中诸如VM和网络之类的资源是私有的,并且其他项目中的用户无法看到(除非特别启用)。 在vRouters中使用VRF且每个网络都有路由表,可以直接在网络层中实施项目隔离,因为只有到允许目的地的路由才会分发到计算节点上的vRouters中的VRF,并且不会发生泛洪vRouter执行的代理服务。 网络服务是Neutron,计算代理是Nova(OpenStack计算服务)。 当两者都部署在OpenStack环境中时,Tungsten Fabric可以在VM和Docker容器之间提供无缝网络。 在下图中,可以看到OpenStack的Tungsten Fabric插件提供了从Neutron网络API到Tungsten Fabric API调用的映射,后者在Tungsten Fabric控制器中执行。 Tungsten Fabric支持网络和子网的策略,以及OpenStack网络策略和安全组。可以在OpenStack或Tungsten Fabric中创建这些实体,并且在两个系统之间同步任何更改。 此外,Tungsten Fabric还支持OpenStack LBaaS v2

TungstenFabric+K8s轻松上手丨通过Kubernetes命名空间实现初步的应用程序隔离

橙三吉。 提交于 2020-01-14 00:31:01
本文所有相关链接pdf: https://163.53.94.133/assets/uploads/files/tf-ceg-case3.pdf Kubernetes命名空间是“虚拟化”Kubernetes集群的一种内置方式。虽然目前尚无人讨论如何使用命名空间以及在何处使用命名空间,但是如果没有网络范围内的命名空间隔离能力,集群虚拟化将无法完成。 Tungsten Fabric Kubernetes CNI插件包括对isolated命名空间的支持。部署到隔离的命名空间中的应用程序无法访问其所在的命名空间之外的任何Pod,其他命名空间的应用程序也无法访问它的Pod和Services。 使用场景 一种Kubernetes的部署方法,是每个开发团队部署单独的Kubernetes集群,在这种情况下,集群虚拟化和命名空间隔离几乎没有好处。 但是,由于未使用的容量是零散的,因此该方法可能导致资源使用效率低下。每个集群都有自己的可用容量,其他集群中运行的应用程序无法使用这些可用容量。此外,随着集群数量的增加,它引入了保持统一所需要的操作开销。最后,启动新集群需要花费时间,这可能会使事情变慢。 命名空间是解决这些问题的好方法,因为这有助于减少集群的数量,共享备用容量并且可以快速创建。这还可以提供一个隔离级别,基础架构团队将负责集群的管理,而各个开发人员团队则在自己的命名空间中进行操作。

Tungsten Fabric+K8s轻松上手|TF Carbide评估指南--准备篇

∥☆過路亽.° 提交于 2020-01-14 00:15:30
Tungsten Fabric项目是一个开源项目协议,它基于标准协议开发,并且提供网络虚拟化和网络安全所必需的所有组件。项目的组件包括:SDN控制器,虚拟路由器,分析引擎,北向API的发布,硬件集成功能,云编排软件和广泛的REST API。 本文所有相关链接pdf: https://tungstenfabric.org.cn/assets/uploads/files/tf-ceg-with-link.pdf 本指南的作用是什么? 本指南是为应用程序开发人员或计算基础结构平台工程师设计的,考虑了Kubernetes网络的选项,特别侧重于Tungsten Fabric Carbide。 对于在Kubernetes上运行的应用程序,“Kubernetes集群网络”功能至关重要。这些功能包括: 通过服务在Pod之间进行网络通信; 外部世界和面向外部的服务之间的网络通信; 对允许的网络通信流进行细粒度控制的网络策略。 为此,Kubernetes集群必须安装容器网络接口(“CNI”)插件。Kubernetes文档网站列出了许多选项,我们在本文档中介绍Tungsten Fabric选项。 我们将使用一个示例的3层应用程序来遍历上面列出的三个主要功能区域,并说明Tungsten Fabric在每种情况下的功能。Tungsten Fabric提供超出Kubernetes基线的其他功能

Kubernetes 1.3 current and future

倖福魔咒の 提交于 2019-12-09 15:12:24
本文讨论 K8S 1.3 的一些新功能,以及正在进行中的功能。读者应该对 kubernetes 的基本结构已经有所了解。 支持更多类型的应用 1 Init container Init container 是1.3 中的 alpha feature,目的是支持一类需要在启动 Pod“普通容器”前,先进行 Pod 初始化的应用。执行该初始化任务的容器被成为“初始化容器”(init container)。例如,在启动应用之前,初始化数据库,或等待数据库启动等。下图是一个包含 init container 的 Pod: 对于此类 Pod,kubernetes 的运行策略如下: 初始化容器按顺序依次执行,即图中容器 1->2 若其中某一个初始化容器运行失败,则整个 Pod 失败 当所有初始化容器运行成功,启动普通容器,即图中容器 A 和 B 在 alpha 版本中使用 init container 需要用 annotation,下图是来自 k8s 的一个例子(略有裁剪): 可以看到,我们在启动 nginx 普通容器之前,先用 init container 来获取 index.html,之后访问 nginx 就会直接返回该文件。当 init container 功能稳定后,k8s 会直接在 pod.spec 内加上 init Containers 字段,如下所示: init

k8s 基础概念

旧城冷巷雨未停 提交于 2019-11-28 13:00:30
摘录自k8s中文社区https://www.kubernetes.org.cn/course kubernetes 源自希腊文,意为舵手,k与s之间是8个字母,所以也叫k8s, docker就像一个个的集装箱,容器本身仅提供了托管运行应用的底层逻辑,而容器编排 Orchestration才是真正产生价值所在, 而k8s就是负责运送doker的舵手,负责容器编排 容器编排是指容器应用的自动布局,协同,管理, 主要负责以下任务 Service Discovery Load Balancing Secrets/configuration/storage management Health checks Auto-[scaling/restart/healing] of containers and nodes Zero-downtime deploys 谷歌在容器编排领域已经浸淫十几年,在这期间出现过Docker Swarm, Mesos, 都被比下去了 K8S是容器编排领域的领导者 流程图 功能 基于容器的应用部署、维护和滚动升级 负载均衡和服务发现 跨机器和跨地区的集群调度 自动伸缩 无状态服务和有状态服务 广泛的Volume支持 插件机制保证扩展性 1、pod 一组紧密关联的容器集合,支持多个容器在一个pod中共享网络和文件系统,克通过进程间的通信和共享文件完成任务

Kubernetes集群监控方案

半世苍凉 提交于 2019-11-25 20:20:48
本文介绍在k8s集群中使用node-exporter、prometheus、grafana对集群进行监控。 其实现原理有点类似ELK、EFK组合。node-exporter组件负责收集节点上的metrics监控数据,并将数据推送给prometheus, prometheus负责存储这些数据,grafana将这些数据通过网页以图形的形式展现给用户。 在开始之前有必要了解下Prometheus是什么? Prometheus (中文名:普罗米修斯)是由 SoundCloud 开发的开源监控报警系统和时序列数据库(TSDB).自2012年起,许多公司及组织已经采用 Prometheus,并且该项目有着非常活跃的开发者和用户社区.现在已经成为一个独立的开源项目。Prometheus 在2016加入 CNCF ( Cloud Native Computing Foundation ), 作为在 kubernetes 之后的第二个由基金会主持的项目。 Prometheus 的实现参考了Google内部的监控实现,与源自Google的Kubernetes结合起来非常合适。另外相比influxdb的方案,性能更加突出,而且还内置了报警功能。它针对大规模的集群环境设计了拉取式的数据采集方式,只需要在应用里面实现一个metrics接口,然后把这个接口告诉Prometheus就可以完成数据采集了