精华内容
参与话题
问答
  • Kubernetes

    2018-01-09 11:00:48
    参考 十分钟带你理解Kubernetes核心概念 什么是Kubernetes Kubernetes系统架构简介 Kubernetes概述
    展开全文
  • Kubernetes Kubernetes is an open source system for managing containerized applications across multiple hosts. It provides basic mechanisms for deployment, maintenance, and scaling of applications....
  • Mastering Kubernetes

    2018-07-01 00:38:57
    Master the art of container management utilizing the power of Kubernetes. About This Book This practical guide demystifies Kubernetes and ensures that your clusters are always available, scalable, ...
  • kubernetes资料打包下载

    2019-03-30 23:37:31
    Kubernetes指南-倪朋飞.pptx 1-唐继元Kubernetes Master High Availability 高级实践.pdf 2、刘淼-基于 DevOps、微服务及k8s的高可用架构探索与实现.pdf ArchSummit北京2016-《网易蜂巢基于万节点Kubernets支撑大...
  • Kubernetes,简称K8S,是一个开源,用于管理多个容器化的应用,提供了应用部署,规划,更新维护的一种机制。   学习要求: 本课程学习需要具有一定的Linux基础,并掌握Docker相关知识点。   知识...
  • If you’re looking to develop native applications in Kubernetes, this is your guide. Developers and AppOps administrators will learn how to build Kubernetes-native applications that interact directly ...
  • 除了已经拥抱Kubernetes的Google、BAT、京东、奇虎360等巨头大厂外,更多的企业也都在向Kubernetes迁移。容器技术大势所趋,是互联网企业目前急需的技术人才之一,已成为运维工程师、架构师的必备技能之一。机会总是...
  • ├── rx-m-kubernetes-bootcamp-lab-01.md ├── rx-m-kubernetes-bootcamp-lab-01.pdf ├── rx-m-kubernetes-bootcamp-lab-02.md ├── rx-m-kubernetes-bootcamp-lab-02.pdf ├── rx-m-kubernetes-...
  • Kubernetes Master Class

    千人学习 2019-05-27 18:46:09
    为了帮助大家完成Kubernetes从入门到进阶的全过程,让企业IT人员能更快上手并落地Kubernetes,Rancher Labs【Kubernetes Master Class】已经正式启航!整季培训将有共计8期课程,课程内容包括大量生产环境操作,指导...
  • Kubernetes)k8s简介 docker安装

    万次阅读 多人点赞 2018-09-16 20:32:43
    Kubernetes 简介 Kubernetes 是一个自动化部署、伸缩和操作应用程序容器的开源平台。 使用 Kubernetes,你可以快速、高效地满足用户以下的需求: 快速精准地部署应用程序 即时伸缩你的应用程序 无缝展现新特征 ...

    Kubernetes 简介

    Kubernetes 是一个自动化部署、伸缩和操作应用程序容器的开源平台

    使用 Kubernetes,你可以快速、高效地满足用户以下的需求:

    • 快速精准地部署应用程序
    • 即时伸缩你的应用程序
    • 无缝展现新特征
    • 限制硬件用量仅为所需资源

    我们的目标是培育一个工具和组件的生态系统,以减缓在公有云或私有云中运行的程序的压力。

    Kubernetes 的优势

    •   可移动: 公有云、私有云、混合云、多态云
    •   可扩展: 模块化、插件化、可挂载、可组合
    •   自修复: 自动部署、自动重启、自动复制、自动伸缩

    Google 公司于 2014 年启动了 Kubernetes 项目。Kubernetes 是在 Google 的长达 15 年的成规模的产品级任务的经验下构建的,结合了来自社区的最佳创意和实践经验。

    容器优势总结:

    •   敏捷的应用创建与部署:相比虚拟机镜像,容器镜像的创建更简便、更高效。
    •   持续的开发、集成,以及部署:在快速回滚下提供可靠、高频的容器镜像编译和部署(基于镜像的不可变性)。
    •   开发与运营的关注点分离:由于容器镜像是在编译/发布期创建的,因此整个过程与基础架构解耦。
    •   跨开发、测试、产品阶段的环境稳定性:在笔记本电脑上的运行结果和在云上完全一致。
    •   在云平台与 OS 上分发的可转移性:可以在 Ubuntu、RHEL、CoreOS、预置系统、Google 容器引擎,乃至其它各类平台上运行。
    •   以应用为核心的管理: 从在虚拟硬件上运行系统,到在利用逻辑资源的系统上运行程序,从而提升了系统的抽象层级。
    •   松散耦联、分布式、弹性、无拘束的微服务:整个应用被分散为更小、更独立的模块,并且这些模块可以被动态地部署和管理,而不再是存储在大型的单用途机器上的臃肿的单一应用栈。
    •   资源隔离:增加程序表现的可预见性。
    •   资源利用率:高效且密集。

    为什么我需要 Kubernetes,它能做什么?

    至少,Kubernetes 能在实体机或虚拟机集群上调度和运行程序容器。而且,Kubernetes 也能让开发者斩断联系着实体机或虚拟机的“锁链”,从以主机为中心的架构跃至以容器为中心的架构。该架构最终提供给开发者诸多内在的优势和便利。Kubernetes 提供给基础架构以真正的以容器为中心的开发环境。

    Kubernetes 满足了一系列产品内运行程序的普通需求,诸如:

    以上兼具平台即服务(PaaS)的简化和基础架构即服务(IaaS)的灵活,并促进了在平台服务提供商之间的迁移。

    Kubernetes 是一个什么样的平台?

    虽然 Kubernetes 提供了非常多的功能,总会有更多受益于新特性的新场景出现。针对特定应用的工作流程,能被流水线化以加速开发速度。特别的编排起初是可接受的,这往往需要拥有健壮的大规模自动化机制。这也是为什么 Kubernetes 也被设计为一个构建组件和工具的生态系统的平台,使其更容易地部署、缩放、管理应用程序。

    标签(label)可以让用户按照自己的喜好组织资源。 注释(annotation)让用户在资源里添加客户信息,以优化工作流程,为管理工具提供一个标示调试状态的简单方法。

    此外,Kubernetes 控制面板是由开发者和用户均可使用的同样的 API 构建的。用户可以编写自己的控制器,比如 调度器(scheduler),使用可以被通用的命令行工具识别的他们自己的 API

    这种设计让大量的其它系统也能构建于 Kubernetes 之上。

    Kubernetes 不是什么?

    Kubernetes 不是传统的、全包容的平台即服务(Paas)系统。它尊重用户的选择,这很重要。

    Kubernetes:

    •   并不限制支持的程序类型。它并不检测程序的框架 (例如,Wildfly),也不限制运行时支持的语言集合 (比如, Java、Python、Ruby),也不仅仅迎合 12 因子应用程序,也不区分 应用 与 服务 。Kubernetes 旨在支持尽可能多种类的工作负载,包括无状态的、有状态的和处理数据的工作负载。如果某程序在容器内运行良好,它在 Kubernetes 上只可能运行地更好。
    •   不提供中间件(例如消息总线)、数据处理框架(例如 Spark)、数据库(例如 mysql),也不把集群存储系统(例如 Ceph)作为内置服务。但是以上程序都可以在 Kubernetes 上运行。
    •   没有“点击即部署”这类的服务市场存在。
    •   不部署源代码,也不编译程序。持续集成 (CI) 工作流程是不同的用户和项目拥有其各自不同的需求和表现的地方。所以,Kubernetes 支持分层 CI 工作流程,却并不监听每层的工作状态。
    •   允许用户自行选择日志、监控、预警系统。( Kubernetes 提供一些集成工具以保证这一概念得到执行)
    •   不提供也不管理一套完整的应用程序配置语言/系统(例如 jsonnet)。
    •   不提供也不配合任何完整的机器配置、维护、管理、自我修复系统。

    另一方面,大量的 PaaS 系统运行在 Kubernetes 上,诸如 OpenshiftDeis,以及 Eldarion。你也可以开发你的自定义 PaaS,整合上你自选的 CI 系统,或者只在 Kubernetes 上部署容器镜像。

    因为 Kubernetes 运营在应用程序层面而不是在硬件层面,它提供了一些 PaaS 所通常提供的常见的适用功能,比如部署、伸缩、负载平衡、日志和监控。然而,Kubernetes 并非铁板一块,这些默认的解决方案是可供选择,可自行增加或删除的。

    而且, Kubernetes 不只是一个编排系统 。事实上,它满足了编排的需求。 编排 的技术定义是,一个定义好的工作流程的执行:先做 A,再做 B,最后做 C。相反地, Kubernetes 囊括了一系列独立、可组合的控制流程,它们持续驱动当前状态向需求的状态发展。从 A 到 C 的具体过程并不唯一。集中化控制也并不是必须的;这种方式更像是编舞。这将使系统更易用、更高效、更健壮、复用性、扩展性更强。

    Kubernetes 这个单词的含义?k8s?

    Kubernetes 这个单词来自于希腊语,含义是 舵手 或 领航员 。其词根是 governor 和 cybernetic。 K8s 是它的缩写,用 8 字替代了“ubernete”。

    总结:

    k8s是一个编排容器的工具,其实也是管理应用的全生命周期的一个工具,从创建应用,应用的部署,应用提供服务,扩容缩容应用,应用更新,都非常的方便,而且可以做到故障自愈,例如一个服务器挂了,可以自动将这个服务器上的服务调度到另外一个主机上进行运行,无需进行人工干涉。那么,问题来了,要运维何用?

     

        k8s可以更快的更新新版本,打包应用,更新的时候可以做到不用中断服务,服务器故障不用停机,从开发环境到测试环境到生产环境的迁移极其方便,一个配置文件搞定,一次生成image,到处运行。。。

     

     

    k8s的全生命周期管理

        在k8s进行管理应用的时候,基本步骤是:创建集群,部署应用,发布应用,扩展应用,更新应用。

    在k8s里面,集群调度的最小单元就是一个pod,一个pod可以是一个容器,也可以是多个容器,例如你运行一个程序,其中使用了nginx,使用mysql了,使用了jetty,那么可以将这三个使用在同一个pod中,对他们提供统一的调配能力,一个pod只能运行在一个主机上,而一个主机上可以有多个pod。

     

    640?wx_fmt=png

    那么有人会问,为什么要使用pod,为什么不能直接使用容器呢?使用pod,相当与一个逻辑主机,还记得创建一个vm,在vm上运行几个进程么,其实道理是一样的,pod的存在主要是让几个紧密连接的几个容器之间共享资源,例如ip地址,共享存储等信息。如果直接调度容器的话,那么几个容器可能运行在不同的主机上,这样就增加了系统的复杂性。

     

    Centos7上安装docker

    Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。

    社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施、容器、插件等。

    社区版按照stable和edge两种方式发布,每个季度更新stable版本,如17.06,17.09;每个月份更新edge版本,如17.09,17.10。

     一、安装docker

    1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

    通过 uname -r 命令查看你当前的内核版本

     $ uname -r

    2、使用 root 权限登录 Centos。确保 yum 包更新到最新。

    $ sudo yum update

    3、卸载旧版本(如果安装过旧版本的话)

    $ sudo yum remove docker  docker-common docker-selinux docker-engine

    4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

    $ sudo yum install -y yum-utils device-mapper-persistent-data lvm2

    5、设置yum源

    $ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

    6、可以查看所有仓库中所有docker版本,并选择特定版本安装

    $ yum list docker-ce --showduplicates | sort -r

    7、安装docker

    $ sudo yum install docker-ce  #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0
    $ sudo yum install <FQPN>  # 例如:sudo yum install docker-ce-17.12.0.ce

    8、启动并加入开机启动

    $ sudo systemctl start docker
    $ sudo systemctl enable docker

    9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)

    $ docker version

     二、问题

    1、因为之前已经安装过旧版本的docker,在安装的时候报错如下:

    Transaction check error:
      file /usr/bin/docker from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
      file /usr/bin/docker-containerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
      file /usr/bin/docker-containerd-shim from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
      file /usr/bin/dockerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64

    2、卸载旧版本的包

    $ sudo yum erase docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64

    3、再次安装docker

    $ sudo yum install docker-ce

     

    展开全文
  • Kubernetes概述

    2019-08-09 20:59:52
    文章目录Kubernetes概述容器编排?是需要标准的?什么是k8s?Kubernetes解决了什么问题单一稳定的一体化模型微型化的应用部署模型 Kubernetes概述 Kubernetes(k8s)一个用于容器集群的自动化部署、扩容以及运维的开源...

    Kubernetes概述

    Kubernetes(k8s)一个用于容器集群的自动化部署、扩容以及运维的开源平台。通过Kubernetes,你可以快速有效地响应用户需求;快速而有预期地部署你的应用;极速地扩展你的应用;无缝对接新应用功能;节省资源,优化硬件资源的使用。为容器编排管理提供了完整的开源方案。

    Kubernetes解决了什么问题?

    • 服务器环境
    • 服务器资源管理
    • 服务容灾恢复
    • 硬件资源利用
    • 服务资源创建
    • 可视化管理
    • 服务资源监控
    • 资源整合管理

    容器编排?是需要标准的?

    如此多的docker该如何管理(通信、负载均衡、资源共享管理、容灾、监控、健康检查….)?

    • Mesos

    在这里插入图片描述

    • docker swarm

    在这里插入图片描述

    • kubernetes

    在这里插入图片描述

    自2016年中,k8s表现出明显优势。

    在这里插入图片描述

    什么是k8s?

    Kubernetes(K8s)是Google在2014年发布的一个开源项目。

    ​ 据说Google的数据中心里运行着20多亿个容器,而且Google十年多前就开始使用容器技术。

    ​ 最初,Google开发了一个叫Borg的系统(现在命名为Omega)来调度如此庞大数量的容器和工作负载。在积累了这么多年的经验后,Google决定重写这个容器管理系统,并将其贡献到开源社区,让全世界都能受益。

    ​ 这个项目就是Kubernetes。简单地讲,Kubernetes是Google Omega的开源版本。

    ​ 从2014年第一个版本发布以来,Kubernetes迅速获得开源社区的追捧,包括Red Hat、VMware、Canonical在内的很多有影响力的公司加入到开发和推广的阵营。目前Kubernetes已经成为发展最快、市场占有率最高的容器编排引擎产品。

    Kubernetes解决了什么问题

    • 通过 Kubernetes,分布式系统工具将拥有网络效应。每当人们为 Kubernetes 制作出的新的工具,都会让所有其他工具更完善。因此,这进一步巩固了 Kubernetes 的标准地位。
    • 云提供商并非可替换的商品。不同的云提供的服务会变得越来越独特和不同。如果可以访问不同的云提供商提供的不同服务,那么企业将因此受益。
    • 当多节点应用与单节点应用一样可靠时,我们将看到定价模型的变化。
    • 这就是为什么我会被 Kubernetes 洗脑的原因,它是跨越异构系统的一个标准层。
    • 将来,我们会像讨论编译器和操作系统内核一样讨论 Kubernetes。 Kubernetes 将会是低层级的管路系统,而不在普通应用开发人员的视野之内。

    Kubernetes 已成为部署分布式应用的标准方式。在不远的将来,任何新成立的互联网公司都将用到 Kubernetes,无论其是否意识到这点。许多旧应用也正在迁移到 Kubernetes。

    单一稳定的一体化模型

    在这里插入图片描述

    微型化的应用部署模型

    (微服务、分布式、集群、高可用、负载均衡…)

    在这里插入图片描述

    展开全文
  • 资源名称:Kubernetes权威指南:从Docker到Kubernetes实践全接触(第2版)内容简介:Kubernetes是由谷歌开源的Docker容器集群管理系统,为容器化的应用提供了资源调度、部署运行、服务发现、扩容及缩容等一整套功能。...
  • 使用 kubectl delete all --all, 删除了 kubernetes service,这才想起来了解 default namespace 下面的 service kubernetes。 service kubernetes 提供 kube-apiserver 服务,集群中的 pod 通过这个服务访问 kube-...

    使用 kubectl delete all --all, 删除了 kubernetes service,这才想起来了解 default namespace 下面的 service kubernetes。

    service kubernetes 提供 kube-apiserver 服务,集群中的 pod 通过这个服务访问 kube-apiserver. 这个服务由 k8s 自动创建,删除了,等会儿就会自动创建好

    [root@node1 kubeflow]# kubectl describe svc kubernetes
    Name:              kubernetes
    Namespace:         default
    Labels:            component=apiserver
                       provider=kubernetes
    Annotations:       <none>
    Selector:          <none>
    Type:              ClusterIP
    IP:                10.233.0.1
    Port:              https  443/TCP
    TargetPort:        6443/TCP
    Endpoints:         192.168.1.222:6443,192.168.1.223:6443,192.168.1.224:6443
    Session Affinity:  None
    Events:            <none>
    

    参考文章
    https://stackoverflow.com/questions/56573434/service-kubernetes-deleted-accidentally-deleted-kubernetes-service
    https://stackoverflow.com/questions/47523136/whats-the-purpose-of-the-default-kubernetes-service

    展开全文
  • Kubernetes对象模型

    万次阅读 2018-10-13 20:44:20
    Kubernetes对象 在之前的文章已经讲到了很多Kubernets对象,包括pod,service,deployment等等。Kubernets对象是一种持久化,表示集群状态的实体。它是一种声明式的意图的记录,一般使用yaml文件描述对象,它使用...
  • Kubernetes Ingress

    千次阅读 2020-09-22 17:33:19
    **Ingress-Nginx github 地址:**https://github.com/kubernetes/ingress-nginx **Ingress-Nginx 官方网站:**https://kubernetes.github.io/ingress-nginx/ 部署 Ingress-Nginx kubectl apply -f mandatory.yaml ...
  • kubernetes 源码编译

    2020-03-01 18:14:29
    kubernetes 源码编译分为本地编译和镜像编译,本地编译是指最终编译出来的是二进制可执行文件,镜像编译是 最终编译出来的产出物为 docker 镜像 tar 包。本文主要介绍本地编译的方法,以编译 kube-apiserver 组件为...
  • Kubernetes是什么

    万次阅读 2017-02-11 15:06:13
    英文链接:https://en.wikipedia.org/wiki/KubernetesKubernetes(通常写成“k8s”)是最开始由google设计开发最后贡献给Cloud Native Computing Foundation的开源容器...Kubernetes通常结合docker容器工具工作,并且
  • 二进制安装kubernetes 1.18的顺序为:etcd->apiserver->kubctl,在使用kubctl的时候配置好了集群信息及用户信息如下: [root@master-01 ~]# ll ~/.kube/config -rw------- 1 root root 6257 Apr 20 22:49 /root...
  • 容器本质 一个“容器”,实际上是一个由 Linux Namespace、Linux Cgroups 和 rootfs 三种技术构建出来的进程的隔离环境。 从这个结构中我们不难看出,一个正在运行的 Linux 容器,其实可以被“一分为二”地看待: ...
  • 原文发表于kubernetes中文社区,为作者原创翻译,原文地址 更多kubernetes文章,请多关注kubernetes中文社区 目录 基础设施的安全性 1.网络 2.存储 3.主机和操作系统 4.主机访问管理 Kubernetes的安全性 1...
  • 再探Kubernetes

    万次阅读 2019-03-12 21:00:05
    简单整理最新Kubernetes部署到使用的一些memo,顺便将其固化成脚本和Ansible方式。同步到github的Easypack中,有兴趣的可以加入。
  • Kubernetes资料收集

    万次阅读 2018-09-09 22:31:00
    https://kubernetes.io/docs/home/?path=users&amp;amp;amp;amp;amp;persona=app-developer&amp;amp;amp;amp;amp;level=foundational 视频资料 IBM视频(强烈推荐) 慕课网入门视频 入门资料 ...
  • kubernetes---CentOS7安装kubernetes1.11.2图文完整版

    万次阅读 多人点赞 2018-08-15 20:14:01
    转载请注明出处:kubernetes—CentOS7安装kubernetes1.11.2图文完整版 架构规划 k8s至少需要一个master和一个node才能组成一个可用集群。 本章我们搭建一个master节点和三个node节点。 我们在生产环境中使用时...

空空如也

1 2 3 4 5 ... 20
收藏数 104,575
精华内容 41,830
关键字:

kubernetes