
k8s
文章平均质量分 85
邓乐来Jacob
NLP算法/Python/Go
展开
-
ThirdPartyResources
ThirdPartyResources是一种无需改变代码就可以扩展Kubernetes API的机制,可以用来管理自定义对象。每个ThirdPartyResource都包含以下属性metadata:跟kubernetesmetadata一样kind:自定义的资源类型,采用<kind mame>.<domain>的格式description:资源描述versions:版本列表...原创 2018-07-01 00:28:58 · 551 阅读 · 0 评论 -
10 名词解释 Replication Controller
什么是Replication ControllerReplication Controller 保证了在所有时间内,都有特定数量的Pod副本正在运行,如果太多了,Replication Controller就杀死几个,如果太少了,Replication Controller会新建几个,和直接创建的pod不同的是,Replication Controller会替换掉那些删除的或者被终止的pod,不管...原创 2018-06-28 16:56:40 · 1158 阅读 · 0 评论 -
11 名词解释:Node
NodeNode是Pod真正运行的主机,可以是物理机,也可以是虚拟机。为了管理Pod,每个Node节点上至少要运行container runtime(比如docker或者rkt)、kubelet和kube-proxy服务。Node管理不像其他的资源(如Pod和Namespace),Node本质上不是Kubernetes来创建的,Kubernetes只是管理Node上的资源。虽然可以通过Manife...原创 2018-06-28 16:57:08 · 504 阅读 · 0 评论 -
12 名词解释 ReplicaSets
什么是ReplicaSet?ReplicaSet是下一代复本控制器。ReplicaSet和 Replication Controller之间的唯一区别是现在的选择器支持。Replication Controller只支持基于等式的selector(env=dev或environment!=qa),但ReplicaSet还支持新的,基于集合的selector(version in (v1.0, v2...原创 2018-06-28 16:57:29 · 1423 阅读 · 0 评论 -
13 名词解释 Services
Overview(概述)Kubernetes Pod是平凡的,它门会被创建,也会死掉(生老病死),并且他们是不可复活的。 ReplicationControllers动态的创建和销毁Pods(比如规模扩大或者缩小,或者执行动态更新)。每个pod都由自己的ip,这些IP也随着时间的变化也不能持续依赖。这样就引发了一个问题:如果一些Pods(让我们叫它作后台,后端)提供了一些功能供其它的Pod使用(让...原创 2018-06-28 16:58:03 · 299 阅读 · 0 评论 -
14 名词解释 Volumes
容器中的磁盘的生命周期是短暂的,这就带来了一系列的问题,第一,当一个容器损坏之后,kubelet 会重启这个容器,但是文件会丢失-这个容器会是一个全新的状态,第二,当很多容器在同一Pod中运行的时候,很多时候需要数据文件的共享。Kubernete Volume解决了这个问题Background背景Docker有一个Volumes的概念,虽然这个Volume有点宽松和管理性比较小。在Docker中,...原创 2018-06-28 16:58:26 · 980 阅读 · 0 评论 -
15 名词解释 PV/PVC/StorageClass
介绍PersistentVolume(PV)是集群中已由管理员配置的一段网络存储。 集群中的资源就像一个节点是一个集群资源。 PV是诸如卷之类的卷插件,但是具有独立于使用PV的任何单个pod的生命周期。 该API对象捕获存储的实现细节,即NFS,iSCSI或云提供商特定的存储系统。PersistentVolumeClaim(PVC)是用户存储的请求。 它类似于pod。 Pod消耗节点资源,PVC消...原创 2018-06-28 16:58:53 · 876 阅读 · 0 评论 -
16 名称解释 Deployment
简述Deployment为Pod和ReplicaSet提供了一个声明式定义(declarative)方法,用来替代以前的ReplicationController来方便的管理应用。典型的应用场景包括:定义Deployment来创建Pod和ReplicaSet滚动升级和回滚应用扩容和缩容暂停和继续Deployment比如一个简单的nginx应用可以定义为apiVersion: extensions/...原创 2018-06-28 16:59:42 · 1237 阅读 · 0 评论 -
17 名词解释 Secret
SecretSecret解决了密码、token、密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者Pod Spec中。Secret可以以Volume或者环境变量的方式使用。Secret有三种类型:Service Account:用来访问Kubernetes API,由Kubernetes自动创建,并且会自动挂载到Pod的/run/secrets/kubernetes.io/servic...原创 2018-06-29 10:15:33 · 600 阅读 · 6 评论 -
18 名词解释 StatefulSet
StatefulSetStatefulSet是为了解决有状态服务的问题(对应Deployments和ReplicaSets是为无状态服务而设计),其应用场景包括稳定的持久化存储,即Pod重新调度后还是能访问到相同的持久化数据,基于PVC来实现稳定的网络标志,即Pod重新调度后其PodName和HostName不变,基于Headless Service(即没有Cluster IP的Service)来...原创 2018-06-29 10:15:54 · 238 阅读 · 0 评论 -
19 名词解释 DaemonSet
DaemonSetDaemonSet保证在每个Node上都运行一个容器副本,常用来部署一些集群的日志、监控或者其他系统管理应用。典型的应用包括:日志收集,比如fluentd,logstash等系统监控,比如Prometheus Node Exporter,collectd,New Relic agent,Ganglia gmond等系统程序,比如kube-proxy, kube-dns, glus...原创 2018-06-29 10:16:15 · 919 阅读 · 0 评论 -
20 名词解释 Service Account
Service AccountService account是为了方便Pod里面的进程调用Kubernetes API或其他外部服务而设计的。它与User account不同User account是为人设计的,而service account则是为Pod中的进程调用Kubernetes API而设计;User account是跨namespace的,而service account则是仅局限它所...原创 2018-06-29 10:16:39 · 2710 阅读 · 0 评论 -
21 名词解释 CronJob
CronJobCronJob即定时任务,就类似于Linux系统的crontab,在指定的时间周期运行指定的任务。在Kubernetes 1.5,使用CronJob需要开启batch/v2alpha1 API,即–runtime-config=batch/v2alpha1。CronJob Spec.spec.schedule指定任务运行周期,格式同Cron.spec.jobTemplate指定需要运...原创 2018-06-29 10:17:00 · 278 阅读 · 0 评论 -
22 名词解释 Job
Job负责批量处理短暂的一次性任务 (short lived one-off tasks),即仅执行一次的任务,它保证批处理任务的一个或多个Pod成功结束。Kubernetes支持以下几种Job:非并行Job:通常创建一个Pod直至其成功结束固定结束次数的Job:设置.spec.completions,创建多个Pod,直到.spec.completions个Pod成功结束带有工作队列的并行Job:...原创 2018-06-29 10:17:23 · 859 阅读 · 4 评论 -
23 名词解释 Security Context和PSP
Security ContextSecurity Context的目的是限制不可信容器的行为,保护系统和其他容器不受其影响。Kubernetes提供了三种配置Security Context的方法: Container-level Security Context:仅应用到指定的容器Pod-level Security Context:应用到Pod内所有容器以及VolumePod Securi...原创 2018-06-29 10:17:39 · 723 阅读 · 0 评论 -
24 名词解释 Resource Quotas
Resource Quotas资源配额(Resource Quotas)是用来限制用户资源用量的一种机制。它的工作原理为资源配额应用在Namespace上,并且每个Namespace最多只能有一个ResourceQuota对象开启计算资源配额后,创建容器时必须配置计算资源请求或限制(也可以用LimitRange设置默认值)用户超额后禁止创建新的资源资源配额的启用首先,在API Server启动时配...原创 2018-06-29 10:18:00 · 397 阅读 · 0 评论 -
25 名词解释 Network Policy
Network PolicyNetwork Policy提供了基于策略的网络控制,用于隔离应用并减少攻击面。它使用标签选择器模拟传统的分段网络,并通过策略控制它们之间的流量以及来自外部的流量。在使用Network Policy之前,需要注意apiserver开启extensions/v1beta1/networkpolicies网络插件要支持Network Policy,如Calico、Roman...原创 2018-06-29 10:18:33 · 717 阅读 · 0 评论 -
09 名词解释 Namespace
NamespaceNamespace是对一组资源和对象的抽象集合,比如可以用来将系统内部的对象划分为不同的项目组或用户组。常见的pods, services, replication controllers和deployments等都是属于某一个namespace的(默认是default),而node, persistentVolumes等则不属于任何namespace。Namespace常用来隔...原创 2018-06-28 16:56:15 · 1594 阅读 · 0 评论 -
08 名词解释 Labels
标签标签其实就一对 key/value ,被关联到对象上,比如Pod,标签的使用我们倾向于能够标示对象的特殊特点,并且对用户而言是有意义的(就是一眼就看出了这个Pod是尼玛数据库),但是标签对内核系统是没有直接意义的。标签可以用来划分特定组的对象(比如,所有女的),标签可以在创建一个对象的时候直接给与,也可以在后期随时修改,每一个对象可以拥有多个标签,但是,key值必须是唯一的"labels": ...原创 2018-06-28 16:55:55 · 1184 阅读 · 0 评论 -
29 名词解释 PodPreset
PodPresetPodPreset用来给指定标签的Pod注入额外的信息,如环境变量、存储卷等。这样,Pod模板就不需要为每个Pod都显式设置重复的信息。开启PodPreset开启API settings.k8s.io/v1alpha1/podpreset开启准入控制 PodPreset示例增加环境变量和存储卷的PodPresetkind: PodPresetapiVersion: setting...原创 2018-07-01 00:29:39 · 415 阅读 · 0 评论 -
30 配置Kubernetes
译者:李昂除了像 kubectl run 和 kubectl expose 这些必要的命令,它们在各种地方都有介绍,kubernetes也支持可声明式的配置。配置文件也需要必要的命令,这样就可以在代码审查中检查版本控制和文件改动,而代码审查对复杂的具有鲁棒性的可靠生产系统是非常重要的。在声明式风格中,所有的配置都保存在YAML或者JSON配置文件中,使用Kubernetes的API资源模式(sch...原创 2018-07-01 00:30:07 · 160 阅读 · 0 评论 -
31 管理应用 部署持续运行的应用
在前面的章节里,我们了解了如何用 kubectl run 快速部署一个简单的复制的应用以及如何用pods(configuring-containers.md)配置并生成单次运行的容器。本文,我们将使用基于配置的方法来部署一个持续运行的复制的应用。用配置文件生成复制品集合Kubernetes用 Replication Controllers 创建并管理复制的容器集合(实际上是复制的Pods)。 Re...原创 2018-07-01 00:30:43 · 172 阅读 · 0 评论 -
Kube-API Server
概要Kubernetes API服务器为API对象验证和配置数据,这些对象包含Pod,Service,ReplicationController等等。API Server提供REST操作以及前端到集群的共享状态,所有其它组件可以通过这些共享状态交互。kube-apiserver选项–admission-control=”AlwaysAdmit”:集群中资源的Admission Controller...原创 2018-07-01 00:31:29 · 958 阅读 · 0 评论 -
授权插件
授权是Kubernetes认证中的一个独立部分,参考认证部分的文档。授权应用在主(安全)API服务端口的所有HTTP访问请求。任何请求的授权检查都会通过访问策略比较该请求上下文的属性,(比如用户,资源和Namespace)。API的调用必须符合一些规则,按顺序执行。下面的选项都是可行的,可通过标志位选择:–authorization-mode=AlwaysDeny–authorization-mo...原创 2018-07-01 00:32:12 · 1084 阅读 · 0 评论 -
认证插件
Kubernetes使用客户端证书,令牌,或者HTTP基本身份验证用户的API调用。在API服务器中配置—client-ca-file=SOMEFILE选项,就会启动客户端证书认证。引用文件必须包含一个或多个认证机制,通过认证机制验证传给API服务器的客户端证书。当一个客户端证书通过认证,该证书主题的名字就被作为该请求的用户名。在API服务器中配置选项:–token-auth-file=SOMEF...原创 2018-07-01 00:32:34 · 575 阅读 · 0 评论 -
API Server端口配置
本文档介绍Kubernetes apiserver服务的端口以及如何访问这些端口。服务的Ports和IPsKubernets API Server进程提供Kuvernetes API。通常情况下,有一个进程运行在单一kubernetes-master节点上。默认情况,Kubernetes API Server提供HTTP的两个端口:1.本地主机端口HTTP服务默认端口8080,修改标识–insec...原创 2018-07-01 00:32:52 · 6309 阅读 · 0 评论 -
kubectl
使用kubectl来管理Kubernetes集群。摘要使用kubectl来管理Kubernetes集群。可以在 https://github.com/kubernetes/kubernetes 找到更多的信息。kubectl选项--alsologtostderr[=false]: 同时输出日志到标准错误控制台和文件。--api-version="": 和服务端交互使用的API版本。--cer...原创 2018-07-01 00:33:23 · 12238 阅读 · 0 评论 -
06 Docker 命令大全
容器生命周期管理rundocker run :创建一个新的容器并运行一个命令语法 docker run [OPTIONS] IMAGE [COMMAND] [ARG…] OPTIONS说明:-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;-d: 后台运行容器,并返回容器ID;-i: 以交互模式运行容器,通常与 -t 同时使用;-...转载 2018-06-27 10:49:57 · 740 阅读 · 0 评论 -
01 Kubernetes概述
简介Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。Kubernetes一个核心的特点就是能够自主的管理容器来保证云平台中的容器按照用户的期望状态运行着(比如用户想让apache一直运行,用户不需要关心怎么去做,Kubernet...原创 2018-06-27 11:01:04 · 162 阅读 · 0 评论 -
02 Kubernetes设计架构
Kubernetes集群包含有节点代理kubelet和Master组件(APIs, scheduler, etc),一切都基于分布式的存储系统。下面这张图是Kubernetes的架构图。Kubernetes节点在这张系统架构图中,我们把服务分为运行在工作节点上的服务和组成集群级别控制板的服务。Kubernetes节点有运行应用容器必备的服务,而这些都是受Master的控制。每次个节点上当然都要运行...原创 2018-06-27 11:01:53 · 161 阅读 · 0 评论 -
03 kubernetes设计理念
Kubernetes设计理念与分布式系统分析和理解Kubernetes的设计理念可以使我们更深入地了解Kubernetes系统,更好地利用它管理分布式部署的云原生应用,另一方面也可以让我们借鉴其在分布式系统设计方面的经验。API设计原则对于云计算系统,系统API实际上处于系统设计的统领地位,正如本文前面所说,K8s集群系统每支持一项新功能,引入一项新技术,一定会新引入对应的API对象,支持对该功能...原创 2018-06-27 11:02:23 · 157 阅读 · 0 评论 -
04 创建Kubernetes集群
译者:razr 校对:钟健鑫Kubernetes可以在多种平台运行,从笔记本电脑,到云服务商的虚拟机,再到机架上的裸机服务器。要创建一个Kubernetes集群,根据不同场景需要做的也不尽相同,可能是运行一条命令,也可能是配置自己的定制集群。这里我们将引导你根据自己的需要选择合适的解决方案。选择正确的解决方案如果你只是想试一试Kubernetes,我们推荐基于Docker的本地方案。基于Docke...原创 2018-06-27 11:03:52 · 204 阅读 · 0 评论 -
05 从0开始K8s
译者:王乐这部文档是面对想要学习Kubernetes集群的读者。如果你对入门指南已经可以满足你对这个列表上所列的需求,我们建议你继续阅读这个,因为他是根据前人积累经验所写的新手指南。当然如果除了学习入门指南知识外还希望学习IaaS,网络,配置管理或对操作系统有特殊要求,这个指南将会提供给学习者一个指导性的概述及思路。设计和准备学习1. 你应该已经熟悉Kubernetes了。我们建议根据 其他入门指...原创 2018-06-27 11:04:56 · 531 阅读 · 0 评论 -
06 概念概览
译者:钟健鑫用户指南旨在为了每一个想运行程序或者服务在已有Kubernetes集群中的人。Kubernetes集群的安装和管理相关内容在集群管理指南中可以找到。开发者指南是为了那些想写代码直接访问Kubernetes的API,或者为Kubernetes项目共享代码的每一个人。请确认你已经完成这个事列: 运行用户指南中实例的先决条件.进阶路线图如果你对Kubernetes不是很熟悉的话, 我们建议你...原创 2018-06-27 11:06:07 · 85 阅读 · 0 评论 -
07 名词解释 Pods
在Kubernetes中,最小的管理元素不是一个个独立的容器,而是Pod,Pod是最小的,管理,创建,计划的最小单元. 什么是Pod一个Pod(就像一群鲸鱼,或者一个豌豆夹)相当于一个共享context的配置组,在同一个context下,应用可能还会有独立的cgroup隔离机制,一个Pod是一个容器环境下的“逻辑主机”,它可能包含一个或者多个紧密相连的应用,这些应用可能是在同一个物理主机或虚拟机...原创 2018-06-27 11:18:35 · 1883 阅读 · 0 评论 -
26 名词解释 Ingress
Ingress术语在本篇文章中你将会看到一些在其他地方被交叉使用的术语,为了防止产生歧义,我们首先来澄清下。节点:Kubernetes集群中的服务器;集群:Kubernetes管理的一组服务器集合;边界路由器:为局域网和Internet路由数据包的路由器,执行防火墙保护局域网络;集群网络:遵循Kubernetes网络模型实现群集内的通信的具体实现,比如flannel 和 OVS。服务:使用标签选择...原创 2018-06-29 10:19:06 · 883 阅读 · 3 评论