Kubernetes

BoCloud博云获得CNCF Kubernetes服务提供商认证

感情迁移 提交于 2021-02-18 07:57:08
近日,BoCloud博云正式获得 CNCF 和 Linux 基金认证的 Kubernetes 服务提供商资质(KCSP),此认证证明BoCloud博云在 Kubernetes 社区从事活动(包括积极贡献代码)、支持企业最终用户的商业模式、以及将工程师派驻客户现场这三面具有相应的技术实力。 KCSP 计划(全称 Kubernetes Certified Service Provider)是由 CNCF 和 Linux 基金会发起,旨在对在 Kubernetes 的企业应用中拥有丰富经验的服务商进行认证。而被认证的 Kubernetes 供应商均可提供 Kubernetes 支持、咨询、专业服务和培训。同时,KCSP 计划可以确保计划采用 Kubernetes 的组织得到更加专业的支持和服务,确保可以支持其生产和运营方面的要求。 根据 CNCF 相关规定,KCSP 计划要求申请企业除了积极参与 Kubernetes 社区活动,长期做出积极贡献之外,更为关键的是 企业的商业模式支持 为客户提供各种 Kubernetes 技术支持服务 ,包括将工程师派驻客户现场,并且企业需要至少三名工程师通过Kubernetes管理员(CKA)认证。 “KCSP 的创始成员代表 Kubernetes 生态系统趋于成熟,还表明 Kubernetes 已准备好广泛用于大大小小的企业。随着 Kubernetes

Add random string on Kubernetes pod deployment name

≡放荡痞女 提交于 2021-02-18 06:36:36
问题 I have a template that is basically an utility container for running kubectl inside a pod. What I want to do, is to be able to have multiple deployments of that same template, with different names, as in "utilitypod-randomID". Is there a way to do that, via kubectl and some shell scripting, or something similar? The current template looks like this: apiVersion: v1 kind: Pod metadata: name: utilitypod namespace: blah-dev labels: purpose: utility-pod spec: containers: - name: utilitypod image:

Add random string on Kubernetes pod deployment name

旧街凉风 提交于 2021-02-18 06:36:09
问题 I have a template that is basically an utility container for running kubectl inside a pod. What I want to do, is to be able to have multiple deployments of that same template, with different names, as in "utilitypod-randomID". Is there a way to do that, via kubectl and some shell scripting, or something similar? The current template looks like this: apiVersion: v1 kind: Pod metadata: name: utilitypod namespace: blah-dev labels: purpose: utility-pod spec: containers: - name: utilitypod image:

Kubernetes Pod 驱逐详解

落花浮王杯 提交于 2021-02-18 06:33:54
原文链接: Kubernetes Pod 驱逐详解 在 Kubernetes 中,Pod 使用的资源最重要的是 CPU、内存和磁盘 IO,这些资源可以被分为可压缩资源(CPU)和不可压缩资源(内存,磁盘 IO)。可压缩资源不可能导致 Pod 被驱逐,因为当 Pod 的 CPU 使用量很多时,系统可以通过重新分配权重来限制 Pod 的 CPU 使用。而对于不可压缩资源来说,如果资源不足,也就无法继续申请资源(内存用完就是用完了),此时 Kubernetes 会从该节点上驱逐一定数量的 Pod,以保证该节点上有充足的资源。 当不可压缩资源不足时,Kubernetes 是通过 kubelet 来驱逐 Pod 的。kubelet 也不是随机驱逐的,它有自己的一套驱逐机制,每个计算节点的 kubelet 都会通过抓取 cAdvisor 的指标来监控节点的资源使用量,下面我们来具体分析每种情况。 更多精彩内容请关注微信公众号:云原生实验室 1. 存储资源不足 下面是 kubelet 默认的关于节点存储的驱逐触发条件: nodefs.available<10%(容器 volume 使用的文件系统的可用空间,包括文件系统剩余大小和 inode 数量) imagefs.available<15%(容器镜像使用的文件系统的可用空间,包括文件系统剩余大小和 inode 数量) 当 imagefs

How to Submit generic “runtime.Object” to Kubernetes API using client-go

折月煮酒 提交于 2021-02-18 05:13:41
问题 I'm using AWS' EKS which is Kubernetes v1.10 and I'm using client-go v7.0.0. What I'm trying to do is parse a .yml file with multiple Kubernetes resource definitions in a file and submit those resources to the Kubernetes API. I can successfully parse the files using this code scheme.Codecs.UniversalDeserializer().Decode , and I get back an array of runtime.Object . I know that all the Kubernetes resources conform to the runtime.Object interface, but I can't find a way to submit the generic

How to Submit generic “runtime.Object” to Kubernetes API using client-go

一个人想着一个人 提交于 2021-02-18 05:04:31
问题 I'm using AWS' EKS which is Kubernetes v1.10 and I'm using client-go v7.0.0. What I'm trying to do is parse a .yml file with multiple Kubernetes resource definitions in a file and submit those resources to the Kubernetes API. I can successfully parse the files using this code scheme.Codecs.UniversalDeserializer().Decode , and I get back an array of runtime.Object . I know that all the Kubernetes resources conform to the runtime.Object interface, but I can't find a way to submit the generic

鸿蒙和安卓,到底有什么区别?

浪子不回头ぞ 提交于 2021-02-18 01:54:15
来自: 程序员小枫 在 9 月 10 日召开的华为开发者大会上,宣布了鸿蒙2.0 系统正式面世,同时开启了 Beta 版本的测试和开源网站。 对于开发者来说两个最关键的点值得关注: 一个是 Beta 版的开发工具,一个是开源网站。 开源网站 在开发者大会上宣布将 HarmonyOS源代码捐赠给中国开放原子开源基金会,并在大会上公布了鸿蒙系统的开源路线。 OpenHarmony 官方源码地址: https: //openharmony.gitee.com/openharmony 开发工具 鸿蒙使用基于 Intellij IDEA 深度定制研发的 DevEco Studio 作为其开发工具。 DevEco Studio 下载地址: https: / /developer.harmonyos.com/cn /develop/deveco -studio 那么,在应用开发过程中,HarmonyOS(鸿蒙)和 Android(安卓)开发环境有什么不同呐? HarmonyOS 项目和 Android 项目对比 资源目录的变更 ①资源目录名称有更改 安卓 res 目录,这里用 resources 目录,它包括 base 和 rawfile 两部分,其中 base 是核心的资源目录,常用的都放在这里面,便于查找和使用。rawfile 会原封不动打包到生成的应用里面。 安卓是 res/values

Kubernetes 编排神器之 Helm

我的未来我决定 提交于 2021-02-17 23:56:47
什么是Kubernetes Helm?为什么要使用Helm? 前言 编写一堆Kubernetes配置文件是一件很麻烦的事情。对于一些容器,我们可能需要10多个yaml文件。维护它们是一个问题,而且在不同的环境中运行或使用相同的文件更是是一个噩梦。 我们可以使用一些 bash 技巧来替换某些值,但这是一个不好的做法。 这就是我们为什么要使用helm。 我应该提到,还有另一个很好的工具 ksonnet ,它以自己的方式进行“相同”操作。 在这篇文章中,我将介绍为什么Helm是Kubernetes应用程序必不可少的要素,将Kubernetes应用程序与Helm打包的过程,以及如何使用Helm部署可能具有的某些复杂应用程序。 为什么要使用helm 我最近在部署的微服务很复杂,我的发布文件目录中有65个以上的Kubernetes配置文件 ... o( ^▽^ )┛)。 主要问题是,我要如何把这个服务部署到多个环境中? 或者如何使用Kubernetes制作CI/CD? 当然做一些shell脚本是一个选择,但是我不是很喜欢这样做。 然后,我开始使用Kubernetes研究CI/CD pipline,发现一些团队正在将Helm集成到该过程中。 我们可以将理解为为像应用程序包那样的应用程序,在其中我们可以进行依赖管理,不同类型的钩子(安装前,升级前,安装后等),并且可以轻松升级或回滚。 安装

Kube-proxy or ELB “delaying” packets of HTTP requests

三世轮回 提交于 2021-02-17 21:55:21
问题 We're running a web API app on Kubernetes (1.9.3) in AWS (set with KOPS). The app is a Deployment and represented by a Service (type: LoadBalancer) which is actually an ELB (v1) on AWS. This generally works - except that some packets (fragments of HTTP requests) are "delayed" somewhere between the client <-> app container. (In both HTTP and HTTPS which terminates on ELB). From the node side : ( Note: Almost all packets on server-side arrive duplicated 3 times ) We use keep-alive so the tcp

k8s - livenessProbe vs readinessProbe

霸气de小男生 提交于 2021-02-17 21:11:48
问题 Consider a pod which has a healthcheck setup via a http endpoint /health at port 80 and it takes almost 60 seconds to be actually ready & serve the traffic. readinessProbe: httpGet: path: /health port: 80 initialDelaySeconds: 60 livenessProbe: httpGet: path: /health port: 80 Questions: Is my above config correct for the given requirement? Does liveness probe start working only after the pod becomes ready ? In other words, I assume readiness probe job is complete once the POD is ready. After