kubernetes
文章平均质量分 89
阿仆来耶
每天遇见更好的自己!
展开
-
kubernetes高级调度特性
Kubernetes的调度在大部分场景下工作良好-例如,它能够确保Pod运行在具有足够空闲资源的节点上,它试图在跨节点的在传播同一集合的Pod(ReplicaSet,StatefulSet,etc),试图平衡节点的资源使用等。但是有些时候你想过要去控制你的Pods怎么去调度,比如你可能想要保证一些Pod只会在一些特定的硬件的节点上去进行调度,或者你想过要通信频繁的的服务放在一起(co-翻译 2017-04-07 09:34:32 · 3371 阅读 · 0 评论 -
linux network namespace
linux network namespace原创 2018-02-03 21:43:48 · 1007 阅读 · 0 评论 -
大规模下kubernetes集群的scheduler性能
测试流程搭建测试环境,可以使用社区推荐的kubemark确定当前kubernetes社区确定的scheduler调度性能,每秒能处理多少个pod的调度实际测试当前环境的scheduler性能,是否与社区确定的scheduler性能有差异,如果存在差异过大,那么确定是scheduler本身以外导致的性能差异采用优化方案,通过比对优化前后的性能指标确定是否达到优化效果以及得到影响sched...原创 2018-03-09 10:05:41 · 2146 阅读 · 0 评论 -
Kubernetes集群升级
云环境下新增节点,安装高版本的kubelet,kube-proxy,加入到现有集群中,等节点ready了再执行操作,通过kubectl 当前集群的节点设置成不可调度,drain命令隔离掉需要升级的节点,让pod在新节点上重建,需要考虑的问题如下: 有状态应用(Pod使用了本地存储)Daemonset Pod NodeSelector到特定节点的PodPod设置了强制Node亲和性的P...原创 2018-03-09 13:52:32 · 674 阅读 · 0 评论 -
mount namespace和shared subtrees
mount namespace是一个强大并且复杂的机制,用来为每个用户和每个容器创建文件系统树.它是一个很复杂的特性.在我们关于namespaces的一系列文章中,我们将会解开它的复杂性,我们将会深入的研究shared subtrees特性,这个特性以自动,受控的方式允许mount/unmount事件在mount namespaces之间传播事件.介绍mount namespace在2...原创 2018-03-21 18:50:07 · 2608 阅读 · 0 评论 -
kubelet与runtime的整合
Kubernetes 1.10版本Kubelet调用docker创建容器的调用链如图所示 解析该流程能够深入的了解kubernetes是怎么与docker进行交互的.CRI首先介绍CRI, CRI全称为container runtime interface接口,是kubernetes在1.5版本之后引入的概念,为了使得kubernetes更好的扩展以及整合容器运行时(docker...原创 2018-03-27 15:39:55 · 3125 阅读 · 0 评论 -
Kubelet的grabage collection
介绍Kublet中会定期的执行垃圾回收流程,清理节点上不使用的images和containers.下面讲会对如何配置垃圾回收策略以及代码实现层面上分析该业务流程.Image 回收策略中存在两个阈值,HighThresholdPercent和LowThresholdPercent,当磁盘使用率超过HighThresholdPercent将会触发回收流程,回收流程将会删除最老没有被使用...原创 2018-03-28 14:45:45 · 3900 阅读 · 0 评论 -
Application on kubernetes实践
Application on kubernetes实践本系列是GCE推出的文章,解决随着大量的应用迁移到kubernetes中,如何能够紧随kubernetes的发展,更好的在kubernetes上运行应用的建议。翻译文章并没有直接翻译,而是概要的解释每种建议,详细的内容通过文后链接找到。建立更小的镜像Docker公司创新的提出了容器镜像的概念,通过定义Dockerfile以及执行do...原创 2018-06-24 23:01:22 · 1111 阅读 · 0 评论 -
kubernetes node notReady触发pod重调度策略
kubernetes node notReady触发pod重调度策略当kubernetes中node的状态异常的时候,会导致无状态的pod重新调度到其他的节点中,关于什么时候会触发重新调度,很多人都很关心,kubernetes原生提供了参数配置触发重新调度的时间,首先分析触发该流程的具体流程: 1. kubelet周期性的更新自身状态到apiserver,周期为–node-status-u...原创 2018-07-19 19:59:21 · 7917 阅读 · 0 评论 -
节点unknown状态,对使用ceph rbd作为后端存储的statefulset应用处理方法
当kubernetes集群节点变成unknown状态,statefulset创建的pod并不会被主动重新在其他的节点上进行创建,需要人为的将该node通过kubectl delete node进行删除,这样才会在其他的节点上进行创建。社区upstream的smarterclayton给出了为什么要这样设计 This is by design. When a node goes “dow...原创 2018-08-16 22:50:07 · 1223 阅读 · 0 评论 -
Kubernetes autoscaler
Kubernetes作为容器编排工具,应用部署在集群中,应用的负载本身是会随着时间动态发生变化的,为了更好的平衡资源使用率以及性能,kubernetes引入了autoscaler。可以根据应用负载的情况动态的扩缩容资源。Kubernetes的autoscaler分成两个层次:pod级别的扩容,包含横向扩容(HPA)以及纵向扩容(VPA),扩容容器可用的资源使用量。集群级别的扩容,通过CA(...翻译 2018-09-19 19:00:12 · 4601 阅读 · 0 评论 -
minikube初体验
Minikube下载以及安装 curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/ 启动一个kubernetes集群 minikube star原创 2018-01-18 17:26:58 · 9856 阅读 · 1 评论 -
Kubernetes上的一些常见标签
beta.kubernetes.io/arch=amd64 Node的label,通过golang的runtime.GOOS来获取kubernetes.io/hostname Node的label,node的hostname,可以通过kubelet参数–hostname-override 来修改beta.kubernetes.io/instance-type Node的label,通原创 2018-01-04 23:58:07 · 3157 阅读 · 0 评论 -
kubernetes中的RBAC
kubernetes中的RBACkubernetes1.6版本中最引入注意的是RBAC授权机制进行了 Beta阶段,RBAC(基于角色的权限访问控制)是控制访问kubernetes资源的权限.RBAC允许灵活的配置授权策略,而不需要重启集群. 本文重点描述RBAC机制带来的能力以及最佳实践.RBAC对比ABAC在Kubernetes中当前存在很多授权的机制可以使用,授权是一种机制来决定了谁来权限来通翻译 2017-04-12 02:21:05 · 4056 阅读 · 0 评论 -
kubernetes中的Volumes
kubernetes storage翻译 2017-05-25 09:07:06 · 5539 阅读 · 0 评论 -
Kuberentes Ingress
术语Node: Kuberentes集群中的虚拟机节点或者物理机器节点Cluster 一系列的被防火墙隔离的节点,它们是Kubernetes管理的主要资源Edge router 加强了防火墙策略的路由, 他可以是硬件或者是云提供商提供的网关Cluster network 一系列逻辑或者物理的链接, 根据Kubernetes网络模型组成了集群内的通信, 集群网络的例子包括flannel翻译 2017-05-06 11:02:39 · 8026 阅读 · 0 评论 -
Kubernetes基金会托管容器网络CNI
Kubernetes基金会托管容器网络翻译 2017-06-14 22:19:31 · 942 阅读 · 0 评论 -
kubernetes应用类型
kubernetes 应用类型原创 2017-09-12 00:07:14 · 1625 阅读 · 0 评论 -
Kubernetes中PV/PVC/StorageClass
kubernetes中Persistent Volumes, Persistent Volumes claim, StorageClass介绍翻译 2017-05-25 09:35:46 · 26061 阅读 · 1 评论 -
参与Kubernetes贡献
参与Kubernetes贡献整理原创 2017-08-12 15:46:21 · 2151 阅读 · 0 评论 -
Kubernetes 1.9版本带来更大的稳定性和存储功能
Kubernetes开发者社区在Kubernetes 1.9的发布中取得了一个成功的一年,增加了一些重要的新功能,这些功能将有助于进一步鼓励企业采用Kubernetes。Kubernetes是最受欢迎的容器编排工具。它被用来简化容器的部署和管理,被开发人员普遍使用,允许他们在不同的计算环境运行他们的应用程序,而不需要对底层代码做任何改变。在今年的第四个版本中,社区表示将Apps W翻译 2017-12-12 22:46:46 · 1689 阅读 · 1 评论 -
扩展kubernetes实践
本文整理业界对于Kubernetes在扩展性方面做的一些实践,随着时间的积累,相信会有更多的人在扩展kubernetes作出实践的经验原创 2017-12-30 21:59:48 · 763 阅读 · 0 评论 -
Kubelet组件解析
kubernetes中Kubelet介绍原创 2017-12-25 13:29:49 · 18993 阅读 · 0 评论 -
magnum下kubernetes安全模型
magnum下kubernetes安全模型,基于magnum mitaka版本以及Kubernetes 1.5版本对magnum如何跟kubernetes进行配合,实现更安全的kubernetes集群.原创 2017-12-28 10:59:48 · 943 阅读 · 0 评论 -
Kubernetes部署
kubernetes集群部署原创 2018-01-22 17:31:56 · 1317 阅读 · 0 评论 -
Kubernetes中的亲和性
现实中应用的运行对于kubernetes在亲和性上提出了一些要求,可以归类到以下几个方面: 1.Pod固定调度到某些节点之上 2.Pod不会调度到某些节点之上 3.Pod的多副本调度到相同的节点之上 4.Pod的多副本调度到不同的节点之上实践下面我们将通过例子的方式来说明在kubernetes需要去设置亲和性实现上面要求.Pod调动到某些节点上Pod的定义中通过no原创 2018-01-08 15:35:06 · 12491 阅读 · 0 评论 -
kubernetes中跨namespace访问服务
问题的场景: kubernetes中的namespace=A中的Pod需要访问namespace=B中的Pod所提供service=service_B解决办法: 在namespace_A中创建一个service_c, service_c里面不指定selector, 采用type=ExternalName的方式,externalName定义成为指向namespace=B中的service_原创 2018-02-01 12:57:06 · 17449 阅读 · 0 评论 -
[kubernetes]spec yaml定义command/args
对于DockerFile中的CMD [“”] 以及ENTRYPOINT[“xxx”, “xxxx”]以及kubernetes中的command Args的描述一直很困惑,特别是针对外网下载的image,进行调试验证的时候。需要弄清楚DockerFile与Kubernetes yaml中定义的关系。其实kubernetes社区已经给出了明确的说明This table summarizes the...原创 2019-01-15 20:13:39 · 12386 阅读 · 0 评论