`
m635674608
  • 浏览: 5054968 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

基于Kubernetes构建Docker集群管理详解

 
阅读更多

在正式介绍之前,大家有必要先理解Kubernetes几个核心概念及其承担的功能。以下为Kubernetes的架构设计图:

1. Pods

在Kubernetes系统中,调度的最小颗粒不是单纯的容器,而是抽象成一个Pod,Pod是一个可以被创建、销毁、调度、管理的最小的部署单元。比如一个或一组容器。

2. Replication Controllers

Replication Controller是Kubernetes系统中最有用的功能,实现复制多个Pod副本,往往一个应用需要多个Pod来支撑,并且可以保证其复制的副本数,即使副本所调度分配的宿主机出现异常,通过Replication Controller可以保证在其它主宿机启用同等数量的Pod。Replication Controller可以通过repcon模板来创建多个Pod副本,同样也可以直接复制已存在Pod,需要通过Label selector来关联。

3. Services

Services是Kubernetes最外围的单元,通过虚拟一个访问IP及服务端口,可以访问我们定义好的Pod资源,目前的版本是通过iptables的nat转发来实现,转发的目标端口为Kube_proxy生成的随机端口,目前只提供GOOGLE云上的访问调度,如GCE。如果与我们自建的平台进行整合?请关注下篇《kubernetes与HECD架构的整合》文章。

4. Labels

Labels是用于区分Pod、Service、Replication Controller的key/value键值对,仅使用在Pod、Service、Replication Controller之间的关系识别,但对这些单元本身进行操作时得使用name标签。

5. Proxy

Proxy不但解决了同一主宿机相同服务端口冲突的问题,还提供了Service转发服务端口对外提供服务的能力,Proxy后端使用了随机、轮循负载均衡算法。

说说个人一点看法,目前Kubernetes 保持一周一小版本、一个月一大版本的节奏,迭代速度极快,同时也带来了不同版本操作方法的差异,另外官网文档更新速度相对滞后及欠缺,给初学者带来一定挑战。在上游接入层官方侧重点还放在GCE(Google Compute Engine)的对接优化,针对个人私有云还未推出一套可行的接入解决方案。在v0.5版本中才引用service代理转发的机制,且是通过iptables来实现,在高并发下性能令人担忧。但作者依然看好Kubernetes未来的发展,至少目前还未看到另外一个成体系、具备良好生态圈的平台,相信在V1.0时就会具备生产环境的服务支撑能力。

 

http://www.csdn.net/article/2014-12-24/2823292-Docker-Kubernetes

分享到:
评论

相关推荐

    k8s docker集群搭建

    通过以上介绍,我们可以看到Kubernetes在云计算环境下构建可伸缩的Docker集群方面所展现出的强大功能和灵活性。无论是对于开发人员还是运维团队来说,掌握Kubernetes都将有助于提升工作效率和系统的稳定性。

    Kubernetes资源调度及管理详解

    ### Kubernetes资源调度及管理详解 #### 一、资源调度与资源管理的概念 在Kubernetes集群中,资源调度和资源管理是两个重要的概念。资源调度主要关注如何高效地将Pod分配到集群中的节点上,而资源管理则侧重于如何...

    重庆工程学院专周项目1:基于Kubernetes构建和部署企业容器云

    ### 重庆工程学院专周项目1:基于Kubernetes构建和部署企业容器云 #### 教学目标 - **知识目标**:让学生理解Kubernetes的基本概念、架构及其在容器化环境中扮演的角色。 - **技能目标**:使学生能够独立搭建...

    阿里Kubernetes(k8s)详解

    阿里Kubernetes(k8s)详解 Kubernetes(简称k8s)是由Google开源的一款容器编排系统,现由CNCF(Cloud Native Computing Foundation)维护。阿里云作为国内领先的云计算服务提供商,深度参与了Kubernetes的发展,...

    Kubenetes on Docker

    标题“Kubernetes on Docker”揭示了我们将会探讨的是如何在Docker环境中部署和管理Kubernetes(简称k8s)集群。Kubernetes是一个开源容器编排系统,它允许开发者和运维人员在多主机集群中高效地管理和运行应用容器...

    Kubernetes1.9 二进制版集群安装

    ### Kubernetes 1.9 二进制版集群安装与配置详解 #### 概述 本文档将详细介绍如何安装和配置 Kubernetes 1.9 版本的集群,此版本采用了二进制部署方式,并且引入了若干关键改进,包括使用 kube-router 组件替代 ...

    linux-minikube在macOSLinux和Windows上实现了本地Kubernetes集群

    由Go语言编写的Minikube,能够通过与各种虚拟化技术(如VirtualBox、VMware、Docker Desktop等)交互,创建一个单一节点的Kubernetes集群,这个集群运行在一个隔离的虚拟机环境中。这使得开发者无需在大规模生产环境...

    Docker+K8s企业级DevOps实战视频.zip

    2.1 kubernetes架构、工作流程介绍及集群搭建 2.2 使用pod管理业务应用(上) 2.3 使用pod管理业务应用(下) 2.4 kubernetes workload的使用 2.5 kubernetes调度策略 2.6 集群服务发现及Ingress的实现服务访问 2.7 ...

    手动搭建高可用的kubernetes 集群

    ### 手动搭建高可用的Kubernetes集群 #### 组件版本与集群环境 ...通过以上步骤,你可以构建一个稳定且高可用的Kubernetes集群。这个过程不仅让你深入了解Kubernetes的工作原理,还能帮助你在实际环境中快速解决问题。

    Kubernetes架构.pptx

    集群状态和配置存储在Etcd中,Kubernetes通过API Server提供对外接口,Kube-Scheduler负责调度,Controller Manager管理集群状态,Node上运行Pods和容器运行时环境如Docker。 - **Etcd**:高可用的键值数据库,存储...

    Kubernetes 简介

    ### Kubernetes 知识点详解 #### 一、Kubernetes 概述 Kubernetes(简称 K8s)是一种开源系统,用于自动化容器应用的部署、扩展和管理。它为开发者提供了强大的平台来运行分布式系统,而无需担心底层基础设施的...

    java记账管理系统基于vue前端,后端springboot(含数据库脚本).rar

    Docker容器化技术可以帮助快速部署和扩展应用,Kubernetes或Docker Compose则提供了集群管理和服务发现的能力。 总结起来,这个基于Vue前端和SpringBoot后端的Java记账管理系统,结合了现代Web开发的最佳实践,提供...

    Kubernetes v1.21.14 二进制文件

    总之,Kubernetes v1.21.14二进制文件是构建和管理Kubernetes集群的关键要素,理解它们的功能和交互方式对于成功部署和维护大规模容器化应用至关重要。通过熟练掌握这些组件,开发者和运维人员能够更好地利用...

    盘点Kubernetes网络问题的4种解决方案.docx

    为了在私有云环境中运行Kubernetes+Docker集群,首先需要构建一个满足Kubernetes需求的网络环境。Kubernetes假设所有Pod位于一个可以直接互连的扁平网络空间中,这种假设在网络基础设施如Google Compute Engine (GCE...

    Kubernetes架构介绍实验手册1

    - **Docker**: 容器引擎,负责构建、运行和管理Docker容器。 **实验步骤详解** 实验步骤主要是通过SSH工具登录到Kubernetes环境,检查各组件的状态以确保集群正常运行。 - **步骤1**:通过SSH连接到集群的...

Global site tag (gtag.js) - Google Analytics