kubernetes 参考资料】的更多相关文章

kubernetes 参考资料 非常建议先花20分钟,完成这个官方的交互式指南:https://kubernetes.io/docs/tutorials/kubernetes-basics/ 这个教程会介绍kubernetes 中重要的Pods.Deployment .Service等概念,理解过后能更好的使用kubernetes来搞一些有趣的事情. 如果想比较深入理解,推荐看:https://feisky.gitbooks.io/kubernetes/ ,这个指南是开发者自己写的,中文,内容不…
作者:Jack47 转载请保留作者和原文出处 欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 交代一下背景:我们的后台系统是一套使用Kafka消息队列的数据处理管线:Kafka->Logstash->Elasticsearch.这些组件都跑在Docker的容器环境里,我们是基于Kubernetes来编排整个后端的数据处理管线上的容器.Kafka需要暴露在外网里,接收Kafka Producer(filebeat, collectd)发过来的消息.本文是记录基…
Kubernetes为Google开源的容器管理框架,提供了Docker容器的夸主机.集群管理.容器部署.高可用.弹性伸缩等一系列功能:Kubernetes的设计目标包括使容器集群任意时刻都处于用户期望的状态,因而建立了一整套集群管理机制:容器自动重启.自动备份.容器自动伸缩等:Kubernetes设计了pod.replication controller.service用于管理容器的了组件,并提供了RESTful格式接口用于操作他们:由于本篇文章主要是Kubernetes所以就不对理论相关进行…
参考资料: K8S-网络隔离参考 OpenContrail is an open source network virtualization platform for the cloud. – Kube-O-Contrail – get your hands dirty with Kubernetes and OpenContrail OpenContrail is an open source network virtualization platform for the cloud. Ope…
1. 前言 Together we will ensure that Kubernetes is a strong and open container management framework for any application and in any environment, whether in a private, public or hybrid cloud. Urs Hölzle, Google Kubernetes作为Docker生态圈中重要一员,是Google多年大规模容器管理…
近期公司的flannel网络很不稳定,花时间研究了下并且保证云端自动部署的网络能够正常work. 1.网络拓扑 拓扑如下:(点开看大图)  容器网卡通过docker0桥接到flannel0网卡,而每个host对应的flannel0网段为 10.1.x.[1-255]/24,而flannel所组成的一个跨host的网段为10.1.x.x/16,而flannel0则为flanneld进程虚拟出来的网卡. docker0的地址是由 /run/flannel/subnet.env 的 FLANNEL_S…
闲谈Kubernetes 的主要特性和经验分享       Capitalonline全球云主机.全球私有网络,免费试用进行时 »   主要介绍 Kubernetes 的主要特性和一些经验.先从整体上看一下Kubernetes的一些理念和基本架构, 然后从网络. 资源管理.存储.服务发现.负载均衡.高可用.rolling upgrade.安全.监控等方面向大家简单介绍Kubernetes的这些主要特性.我们先从整体上看一下Kubernetes的一些理念和基本架构, 然后从网络. 资源管理.存储.…
tensorflow tensorflow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从图象的一端流动到另一端计算过程.TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统. tensorflow可在小到一部智能手机.大到数千台数据中心服务器的各种设备上运行.本文主要探讨的是tensorflow在大规模容器上运行的一…
容器无疑是近年来云计算中最火热的关键词.随着docker的大热,docker.oci.runc.containerd等等名词也逐渐传播开来.这么多的名词,也容易让人混淆.本文对相关名词和其之间的联系进行一下梳理和总结,方便大家更好地理解. container 首先说的是container容器.随着docker的大热,docker的经典图标,一条鲸鱼拖着若干个集装箱的经典形象已经深入人心.docker中container的翻译是译为容器还是集装箱,中文社区做过一次小小的讨论.讨论参见http://…
注:以下大部分内容来自网上摘录,以便后期查阅. Kubernetes (通常称为 K8s) 是用于自动部署.扩展和管理容器化(containerized)应用程序的开源系统,是 Google 内部工具 Borg 的"开源版". Kubernetes 目前是公认的最先进的容器集群管理工具,在 1.0 版本发布后,Kubernetes 的发展速度更加迅猛,并且得到了容器生态圈厂商的全力支持,这包括coreos.rancher 等,诸多提供公有云服务的厂商在提供容器服务时也都基于 Kuber…
TL;DR; 科学上网,科学上网,科学上网,重要的事情说三次.如果不会科学上网,这篇文章就没有看下去的意义.作为一个技术人员如果不愿意折腾,很难有所作为.作为一个单纯的技术人员,最好把心思放在技术上,做到真正的科学上网.这里不会教如何科学上网,请大家自行摸索. 服务器 名称 操作系统 配置 IP master CentOS 7 4核2G内存 192.168.132.132 node1 CentOS 7 2核2G内存 192.168.132.130 Master安装 1. 修改主机名为master…
对于kubernetes中不存在的资源类型,我们可以通过自定义资源的方式进行扩展,首先创建customresourcedefinition对象定义资源及其schema,然后就可以创建自定义的资源了,但是此时定义的资源是不具备生命周期的,无法在创建或销毁的过程中自动执行一些操作,例如replicaSet可以自动根据pod的数量来进行failover,如果我们也要实现这种自动控制此时就需要编写对应的controller, controller需要一个infromer来监听创建删除等事件,并执行预先定…
目录 目标 准备 主机 软件 步骤 (1/4)安装 kubeadm, kubelet and kubectl (2/4)初始化master节点 (3/4) 安装网络插件 (4/4)加入其他节点 (可选)在非主节点上管理集群 (可选)映射API服务到本地 (可选)部署一个微服务 卸载集群 目标 在您的机器上建立一个安全的Kubernetes集群. 在集群里安装网络插件,以便应用之间可以相互通讯. 在集群上运行一个简单的微服务. 准备 主机 一台或多台运行Ubuntu 16.04+的主机. 最好选至…
摘要:本文从单机真机运营的历史讲起,逐步介绍虚拟化.容器化.Docker.Kubernetes.ServiceMesh的发展历程.并重点介绍了容器化阶段之后,各项重点技术的安装.使用.运维知识.可以说一文讲清楚服务器端运维的热点技术. 序 文章的名字起的有点纠结,实际上这是一篇真正从基础开始讲解,并试图串联起来现有一些流行技术的入门文章. 目前的企业级运营市场,很有点早几年前端工程师所面临的那样的窘境.一方面大量令人兴奋的新技术新方案层出不穷:另外一方面运维人员也往往陷入了选择困局,艰于决策也疲…
目录 1. 介绍 2. 运行测试 2.1 测试环境 2.2 运行结果 3. 原理解析 3.1 获取 kubeconfig 信息,并构造 rest#Config 实例 3.1.1 tools/clientcmd#NewNonInteractiveDeferredLoadingClientConfig 3.1.2 (*DeferredLoadingClientConfig).ClientConfig() 3.2 创建 ClientSet 3.3 创建一个 default 命名空间下的 apps/v1…
Kubernetes中,授权有ABAC(基于属性的访问控制).RBAC(基于角色的访问控制).Webhook.Node.AlwaysDeny(一直拒绝)和AlwaysAllow(一直允许)这6种模式.需要在kube-apiserver设置–authorization-mode=RBAC参数,启用RABC模式,下面的操作版本为v1.10.1: 当应用没有指定serviceAccountName,它将使用default服务帐户. 在RABC API中,通过如下的步骤进行授权: 1)定义角色:定义角色…
当前skaffold版本为v0.4,还未发布正式版本,不建议在生产环境中使用: skaffold用于开发人员快速部署程序到Kubernetes中:skaffold提供了dev.run两种模式:使用skaffold需先编写skaffold配置文件,该文件为定义skaffold的工作流: Skaffold工作流定义了三个主要阶段: Build.Push.Deploy: 一.Build 在构建阶段,Skaffold通过Dockerfile使用源码生成Artifacts,Skaffold中目前Docke…
Kubeadm是管理集群生命周期的重要工具,从创建到配置再到升级,Kubeadm处理现有硬件上的生产集群的引导,并以最佳实践方式配置核心Kubernetes组件,以便为新节点提供安全而简单的连接流程并支持轻松升级.随着Kubernetes 1.13 的发布,现在Kubeadm正式成为GA. 准备 首先准备2台虚拟机(CPU最少2核),我是使用Hyper-V创建的2台Ubuntu18.04虚拟机,IP和机器名如下: 172.17.20.210 master 172.17.20.211 node1…
AlphaGo,每个实验1000个节点,每个节点4个GPU,4000 GPU.Siri,每个实验2个节点,8个GPU.AI研究,依赖海量数据计算,离性能计算资源.更大集群运行模型,把周级训练时间缩短到天级小时级.Kubernetes,应用最广泛容器集群管理工具,分布式TensorFlow监控.调度生命周期管理.容器集群自动化部署.扩容.运维开源平台,提供任务调度.监控.失败重启.TensorFlow.Kubernetes都是谷歌公司开源.https://kubernetes.io/ .谷歌云平台…
Kubeadm是Kubernetes官方提供的用于快速安装Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,在2018年将进入GA状态,说明离生产环境中使用的距离越来越近了. 使用Kubeadm搭建Kubernetes集群本来是件很简单的事,但由于众所周知的原因,在中国大陆是无法访问 k8s.gcr.io的.这就使我们无法按照官方的教程来创建集群.而国内的教程参差不齐,大多也无法运行成功,我也是踩了很多坑,才部署成功,故在此分享出来. 准备 多台Ubuntu 1…
原文:https://www.kubernetes.org.cn/4786.html 我们为什么使用容器? 我们为什么使用虚拟机(云主机)? 为什么使用物理机? 这一系列的问题并没有一个统一的标准答案.因为以上几类技术栈都有自身最适用的场景,在最佳实践之下,它们分别都是不可替代的. 原本没有虚拟机,所有类型的业务应用都直接跑在物理主机上面,计算资源和存储资源都难于增减,要么就是一直不够用,要么就一直是把过剩的资源浪费掉,所以后来我们看到大家越来越多得使用虚拟机(或云主机),物理机的使用场景被极大…
TL;DR; ***,***,***,重要的事情说三次.如果不会***,这篇文章就没有看下去的意义.作为一个技术人员如果不愿意折腾,很难有所作为.作为一个单纯的技术人员,最好把心思放在技术上,做到真正的***.这里不会教如何***,请大家自行摸索. 服务器 名称 操作系统 配置 IP master CentOS 7 4核2G内存 192.168.132.132 node1 CentOS 7 2核2G内存 192.168.132.130 Master安装 1. 修改主机名为master. host…
设置资源请求数量 创建Pod的时候,可以为每个容器指定资源消耗的限制.Pod的资源请求限制则是Pod中所有容器请求资源的总和. apiVersion: v1 kind: Pod metadata: name: requests-pod spec: containers:   - image: busybox command: ["dd", "if=/dev/zero", "of=/dev/null"] name: main resources:…
本文的试验环境为CentOS 7.3,Kubernetes集群为1.11.2,安装步骤参见kubeadm安装kubernetes V1.11.1 集群 应用场景:镜像往往是一个应用的基础,还有很多需要自定义的参数或配置,例如资源的消耗.日志的位置级别等等,这些配置可能会有很多,因此不能放入镜像中,Kubernetes中提供了Configmap来实现向容器中提供配置文件或环境变量来实现不同配置,从而实现了镜像配置与镜像本身解耦,使容器应用做到不依赖于环境配置. 向容器传递参数 Docker Kub…
Kubernetes 中暴露服务的方式有三种 Loadbalancer 这种方式往往需要云供应商支持,或者本地F5等设备支持 NodePort 这种方式调用方通过NodeIP:NodePort 的方式访问服务,无法应对Pod发生迁移时的场景 Ingress Ingress是Kubernetes中的一种资源,通过这种资源提供了外部访问内部服务的通路,实现上是通过一个Pod加NodePort来实现的.通过Ingress,方便我们自己定义负载均衡.现在有很多种的Ingress支持,本文主要介绍Ngin…
本文的试验环境为CentOS 7.3,Kubernetes集群为1.11.2,安装步骤参见kubeadm安装kubernetes V1.11.1 集群 Service 介绍 我们通过Pod.Deployment等可以将应用发布到Kubernetes平台中,但是如果我们如何才能访问我们部署的应用呢?有一个办法就是通过节点的IP加上节点的端口来访问这个节点上的容器应用,但是如果我们有多个跨节点的相通应用时该怎么办呢?特别是应用发生扩容.缩容时应该如何处理,这时我们就需要利用Service来实现. 在…
Docker Kubernetes 常用命令 增 # 通过文件名或标准输入创建资源. kubectl create # 读取指定文件内容,进行创建.(配置文件可指定json,yaml文件). kubectl create -f 配置文件 # 创建指定文件内容,创建并指定服务版本.(配置文件可指定json,yaml文件). kubectl create -f 配置文件 --edit --output-version=版本号 -o json # 将一个资源公开为一个新的Kubernetes服务,暴露…
Kubelet使用安全认证连接Apiserver,可以用Token或证书连接.配置步骤如下. 1,生成Token命令 head -c /dev/urandom | od -An -t x | tr -d ' ' 2,生成TLS证书 需要三个文件 ca.crt kubeadmin.crt kubeadmin.key 生成证书命令请参考http://www.cnblogs.com/birdstudio/p/7660068.html 3,配置Kubelet KUBELET_ARGS="--bootst…
之前测试了离线环境下使用二进制方法安装配置Kubernetes集群的方法,安装的过程中听说 kubeadm 安装配置集群更加方便,因此试着折腾了一下.安装过程中,也有一些坑,相对来说操作上要比二进制方便一点,毕竟不用手工创建那么多的配置文件,但是对于了解Kubernetes的运作方式,可能不如二进制方式好.同时,因为kubeadm方式,很多集群依赖的组件都是以容器方式运行在Master节点上,感觉对于虚拟机资源的消耗要比二进制方式厉害. 0. kubeadm 介绍与准备工作 kubeadm is…
通常情况下,Pod分配到哪些Node是不需要管理员操心的,这个过程会由scheduler自动实现.但有时,我们需要指定一些调度的限制,例如某些应用应该跑在具有SSD存储的节点上,有些应用应该跑在同一个节点上等等. 截止到Kubernetes 1.11版本,节点亲和性的特性还是Beta阶段. nodeSelector 首先我们为Node规划标签,然后在创建部署的时候,通过使用nodeSelector标签来指定Pod运行在哪些节点上. apiVersion: v1 kind: Pod metadat…