pod

CNCF 公布 2020 年 TOC 选举结果 | 云原生生态周报 Vol. 36

丶灬走出姿态 提交于 2020-02-12 12:02:18
作者 | 陈洁、高相林 业界要闻 CNCF TOC 2020 年选举结果公布 2020 年 2 月 3 日,CNCF 进行了 TOC(技术监督委员会)选举,确定了 5 名新增的 TOC 成员,其中 3 名的提名者和投票者来自于 Governing Board,1 名的提名者和投票者来自于维护者,1 名的提名者和投票者来自于最终用户社区。 CNCF 发布 2019 年度报告 2019 年 CNCF 新增 173 家成员,增长 50% 以上; KubeCon Shanghai、Barcelona、San Diego 参会人数分别达到了 3500、7700、12000 人; 6 个项目(CoreDNS、containerd、Jaeger、Vitness、TUF)进入毕业阶段,3 个项目(CloudEvents、Falco、OPA)进入孵化阶段,另外还有 12 个项目加入到 Sandbox。 Tekton 发布 2020 年展望 Tekton 是谷歌开源的云原生 CI/CD 系统,2019 年 Tekton 共发布 9 个版本(0.1.0 至 0.9.2),2020 年 Tekton Pipeline 将发布 Beta 版本。 上游重要进展 Support server-side dry-run in cli-runtime REST Helper server 端的 dry-run

Kubernetes之网络通信方式详解

眉间皱痕 提交于 2020-02-12 11:45:54
Kubernetes的网络通信方式是整个K8s的重点,所以更好的理解它的网络通信方式有助于我们更好的掌握Kubernetes。 Kubernetes网络设计模型: 基本原则:每个Pod都有一个独立的IP地址,而且假定所有的Pod都在一个可以直接联通、扁平的网络空间中; 设计原因:用户不需要额外考虑如何建立Pod之间的连接,也不需要将容器端口映射到主机端口的问题; 网络要求:所有的容器都可以在不用NAT的情况下于其他容器进行通信;所有Node都可以在不用NAT的情况下于其他容器进行通信;容器的地址和别人看到的地址是同一个; 主要包含四大类通信问题 : 同一个Pod中容器间的通信; 同一Node不同Pod间的通信; 不同Node间的Pod通信; Pod与service之间的通信; 一、同一个pod中容器间的通信 同一个Pod的容器共享同一个网络命名空间,它们之间使用Puse的一个网络协议栈,可以理解为它们之间的访问可以通过localhost地址和容器端口实现; 二、同一Node不同Pod间的通信 同一Node不同Pod间是通过Docker网桥来进行数据包分配传输的,它们关联在同一个Docker0网桥上,地址网段相同,IP1、IP2、IP3属于同一个网段,所以它们之间能通信; 三、不同Node间的Pod通信 不同Node将的Pod通信是整个Kubernetes网络通信的难点,它

iOS开发~CocoaPods使用详细说明

大憨熊 提交于 2020-02-11 07:01:39
http://blog.csdn.net/showhilllee/article/details/38398119 http://code4app.com/article/cocoapods-install-usage PS: SVN 不要添加 pods文件,下载后 pod install。当别人下载你的项目的时候, pod install 即可。 发现的问题: 1.updating local specs repositories卡住 以下是我本人搬运的忘了某个出处的论坛的回答 pod install 换成pod install --verbose --no-repo-update这个命令,前面的命令被墙 pod update 同理pod update --verbose --no-repo-update 最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动 原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下: pod install --verbose --no-repo-update pod update --verbose --no-repo-update 2

容器化技术介绍(kubernetes与docker)

徘徊边缘 提交于 2020-02-10 19:56:13
容器化技术介绍(kubernetes与docker) 一、docker 二、kubernetes 三、kubernetes集群环境搭建 一、docker 伴随着计算机技术的飞速发展,容器化技术现在越来越火,而Docker无疑是其中的明星产品,目前Docker 在国内特别是在一线互联网公司发展的如火如荼,Docker 的使用已经是十分普遍了。 Docker是基于Linux内核的Cgroup和namespace,以及AUFS类的Union FS等技术,对进程进行了封装隔离的技术。它属于操作系统层面的虚拟化技术。 传统虚拟化技术是虚拟出一套硬件后,在其基础上运行一个完整的操作系统,再在此系统上运行所需的应用进程。而Docker技术是容器内的应用进程直接运行于宿主机的内核,容器内没有自己的内核,而且也不虚拟出硬件。因此,相对于传统的虚拟化技术而言,Docker更加轻便。 Docker容器具有以下的优势: (1)更高效地利用系统资源; (2)更快捷的启动时间; (3)一致的运行环境; (4)支持持续交付和部署; (5)更轻松的迁移应用; (6)更轻松的维护和扩展。 Docker使用客户端—服务器(C/S)架构模式,使用远程API来管理和创建Docker容器。在Docker中,用三个基本概念需要了解: (1)Docker镜像:Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序

Kubernetes资源清单

喜夏-厌秋 提交于 2020-02-09 01:28:57
什么叫资源? k8s中所有的内容都抽象为资源,资源实例化之后,叫做对象 。 在k8s中有哪些资源? 工作负载型资源(workload) : Pod、ReplicaSet、Deployment、StatefulSet、DaemonSet、Job、CronJob(ReplicationController在v1.11版本被废弃) 服务发现及负载均衡型资源(ServiceDiscovery LoadBalance): Service、Ingress、... 配置与存储型资源: Volume(存储卷)、CSI(容器存储接口,可以扩展各种各样的第三方存储卷) 特殊类型的存储卷: ConfigMap(当配置中心来使用的资源类型)、Secret(保存敏感数据)、DownwardAPI(把外部环境中的信息输出给容器) 以上这些资源都是配置在名称空间级别 集群级资源: Namespace、Node、Role、ClusterRole、RoleBinding(角色绑定)、ClusterRoleBinding(集群角色绑定) 元数据型资源: HPA(Pod水平扩展)、PodTemplate(Pod模板,用于让控制器创建Pod时使用的模板)、LimitRange(用来定义硬件资源限制的) 资源清单 什么是资源清单 在k8s中,一般使用yaml格式的文件来创建符合我们预期期望的pod

k8s pod 自动水平扩展

痴心易碎 提交于 2020-02-08 23:32:46
1. 当前环境 kubernetes v1.17 metrics-server v0.3.6 要实现hpa,metrics-server 需要部署到集群中, 它可以通过 resource metrics API 对外提供度量数据,Horizontal Pod Autoscaler 正是根据此 API 来获取度量数据。 2. 部署metrics-server k8s部署参考网站 https://github.com/kubernetes-sigs/metrics-server/tree/master/deploy/kubernetes metrics-server不能使用,报错不能解析node节点的主机名 - --kubelet-preferred-address-types=InternalIP,Hostname,InternalDNS,ExternalDNS,ExternalIP metrics-server报错,x509,证书是非信任的 - --kubelet-insecure-tls 加在 args 的参数里面,args 片段如下 args: - --cert-dir=/tmp - --secure-port=4443 - --kubelet-preferred-address-types=InternalIP,Hostname,InternalDNS,ExternalDNS

Docker(二):理解容器编排工具Kubernetes内部工作原理

笑着哭i 提交于 2020-02-08 13:56:25
一、Kubernetes是什么   要说到Docker就不得不说说Kubernetes。当Docker容器在微服务的环境下数量一多,那么统一的,自动化的管理自然少不了。而Kubernetes就是一个这样的工具,它不仅仅提供了健康检查和自修复,还有自动扩容缩容,以及服务发现和负载均衡等等功能。 总的来说它使我们对于大量的Docker容器管理更加的方便 。 二、Kubernetes整体架构图及对应功能分析    1、kubectl: 这是相当于用户客户端一样,也是我们较常使用的命令行工具,通过这个工具可以发起对应的请求到master节点中,当然自己开发的客户端同样可以 通过HTTP协议发起对应的RESTAPI请求访问APIServer 。    2、Master: Master节点是整个Kubernetes的核心节点,主要职责是负责调度,即应用放在哪里运行,同样为了高可用可运行多个Master。而Master中主要有APIServer,ControllerManager,Scheduler,Etcd,Kube-dns。对应的职责分别如下:    2.1、APIServer: 提供了资源操作的唯一入口,注意其他节点是无法被外面请求操作的(不是说内部运行的容器无法被访问,而是说无法通过发请求的方式直接操作Node),只有Master节点才能接受外面的请求进行操作Node节点

Kubernetes学习(四)

谁说胖子不能爱 提交于 2020-02-07 22:40:26
四 资源控制器 一、 什么是控制器 Kubernetes 中内建了很多 controller(控制器),这些相当于一个状态机,用来控制 Pod 的具体状态和行为 二、 控制器类型 ① ReplicationController 和 ReplicaSet ② Deployment ③ DaemonSet ④ StateFulSet ⑤ Job/CronJob ⑥ Horizontal Pod Autoscaling 1、 ReplicationController 和 ReplicaSet ReplicationController(RC)用来确保容器应用的副本数始终保持在用户定义的副本数,即如果有容器异常退出,会自动创建新的 Pod 来替代;而如果异常多出来的容器也会自动回收;在新版本的 Kubernetes 中建议使用 ReplicaSet 来取代 ReplicationController 。ReplicaSet 跟ReplicationController 没有本质的不同,只是名字不一样,并且 ReplicaSet 支持集合式的 selector(标签 ); 2、 Deployment(首选) Deployment 为 Pod 和 ReplicaSet 提供了一个声明式定义 (declarative) 方法,用来替代以前的ReplicationController

k8s存储方式的介绍及应用

半城伤御伤魂 提交于 2020-02-07 15:15:36
k8s存储: (持久化) docker容器是有生命周期的。 volume 1,存储类(Storage class)是k8s资源类型的一种,它是有管理员为管理PV更加方便创建的一个逻辑组,可以按照存储系统的性能高低,或者综合服务质量,备份策略等分类。不过k8s本身不知道类别到底是什么,它这是作为一个描述。 2,存储类的好处之一就是支持PV的动态创建,当用户用到持久性存储时,不必再去提前创建PV,而是直接创建PVC就可以了,非常的方便。 3,存储类对象的名称很重要,并且出了名称之外,还有3个关键字段 Provisioner(供给方): 及提供了存储资源的存储系统。k8s内建有多重供给方,这些供给方的名字都以“kubernetes.io”为前缀。并且还可以自定义。 Parameters(参数):存储类使用参数描述要关联到的存储卷,注意不同的供给方参数也不同。 reclaimPolicy:PV的回收策略,可用值有Delete(默认)和Retain 简介 1, 由于容器本身是非持久化的,因此需要解决在容器中运行应用程序遇到的一些问题。首先,当容器崩溃时,kubelet将重新启动容器,但是写入容器的文件将会丢失,容器将会以镜像的初始状态重新开始;第二,在通过一个Pod中一起运行的容器,通常需要共享容器之间一些文件。Kubernetes通过存储卷解决上述的两个问题。 2,

Kubernetes(二十二)Volumes

大憨熊 提交于 2020-02-07 14:56:58
官方链接 https://kubernetes.io/zh/docs/concepts/storage/ 容器中的磁盘文件是临时存放的,如果容器销毁、停止数据也将丢失。同时在一个pod运行多个容器的时候,常常需要在容器之间共享数据。kubernetes抽象出voleme对象来解决这2个问题。 Volume类型 网络数据卷 nfs https://kubernetes.io/zh/docs/concepts/storage/#nfs 本地数据卷 hostpath https://kubernetes.io/zh/docs/concepts/storage/#hostpath emptyDir https://kubernetes.io/zh/docs/concepts/storage/#emptydir emptyDir 当pod指定到某个节点上时,首先创建的是一个emptyDir,并且pod只要一直在这个node上运行,emptyDir就一直存在。当pod从节点删除时,emptydir卷也会被永久删除。它的主要用途如下: 缓存空间,例如基于磁盘的归并排序。 为耗时较长的任务提供检查点,以便于任务能够方便的从崩溃前恢复执行。 在web服务器容器服务数据时,保存内容管理器获取的文件。 应用场景:多容器之间的数据共享。 示例 emptyDir.yaml apiVersion: v1