pod

K8s常用命令

安稳与你 提交于 2020-02-18 08:24:48
1.查看集群中有多少个Node   -- kubectl get nodes 2.查看某个Node的详细信息  -- kubectl describe node <node_name> 3.查看Deployment的信息  -- kubectl get deployments 查询结果如下图: DESIRED:Pod副本数量的期望值,即Deployment定义的Replica CURRENT:当前Replica的值,实际上是Deployment所创建的Replica Set里的Replica值,这个值不断增加,直到达到DESIRED为止,表明整个部署过程完成。 UP-TO-DATE:最新版本的Pod的副本数量,用于指示在滚动升级的过程中,有多少个Pod副本已经成功升级 AVAILABLE:当前集群中可用的Pod副本数量,即集群中当前存活的Pod数量 来源: https://www.cnblogs.com/yfacesclub/p/10838864.html

Kubernetes 1.17.2 高可用部署

烂漫一生 提交于 2020-02-16 21:22:59
20.0.0.200 10.0.0.200 bs-k8s-master01 管理节点 2c2g 20.0.0.201 10.0.0.201 bs-k8s-master02 管理节点 2c2g 20.0.0.202 10.0.0.202 bs-k8s-master03 管理节点 2c2g 20.0.0.203 10.0.0.203 bs-k8s-node01 业务节点 2c2g 20.0.0.204 10.0.0.204 bs-k8s-node02 业务节点 2c2g 20.0.0.205 10.0.0.205 bs-k8s-node03 业务节点 2c2g 服务器准备 所有机器 以bs-k8s-master01为例 #关闭selinux/firewalld/iptables [root@bs-k8s-master01 ~]# setenforce 0 \ > && sed -i 's/^SELINUX=.*$/SELINUX=disabled/' /etc/selinux/config \ > && getenforce l -y iptables-services \ && systemctl stop iptables \ && systemctl disable iptables \ && systemctl status iptablessetenforce:

用 k8s 运行一次性任务 - 每天5分钟玩转 Docker 容器技术(132)

可紊 提交于 2020-02-16 05:23:46
容器按照持续运行的时间可分为两类:服务类容器和工作类容器。 服务类容器通常持续提供服务,需要一直运行,比如 http server,daemon 等。工作类容器则是一次性任务,比如批处理程序,完成后容器就退出。 Kubernetes 的 Deployment、ReplicaSet 和 DaemonSet 都用于管理服务类容器;对于工作类容器,我们用 Job。 先看一个简单的 Job 配置文件 myjob.yml: ① batch/v1 是当前 Job 的 apiVersion 。 ② 指明当前资源的类型为 Job 。 ③ restartPolicy 指定什么情况下需要重启容器。对于 Job,只能设置为 Never 或者 OnFailure 。对于其他 controller(比如 Deployment)可以设置为 Always 。 通过 kubectl apply -f myjob.yml 启动 Job。 kubectl get job 查看 Job 的状态: DESIRED 和 SUCCESSFUL 都为 1 ,表示按照预期启动了一个 Pod,并且已经成功执行。 kubectl get pod 查看 Pod 的状态: 因为 Pod 执行完毕后容器已经退出,需要用 --show-all 才能查看 Completed 状态的 Pod。 kubectl logs 可以查看 Pod

使用CocoaPods来做iOS程序的包依赖管理

江枫思渺然 提交于 2020-02-13 15:34:48
前言 每种语言发展到一个阶段,就会出现相应的依赖管理工具, 或者是中央代码仓库。比如 Java: maven,Ivy Ruby: gems Python: pip, easy_install Nodejs: npm 随着iOS开发者的增多,业界也出现了为iOS程序提供依赖管理的工具,这个工具叫: CocoaPods 。 CocoaPods简介 CocoaPods是一个负责管理iOS项目中第三方开源代码的工具。CocoaPods 项目的源码 在Github上管理。该项目开始于2011年8月12日,经过一年多的发展,现在已经超过1000次提交,并且持续保持活跃更新。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间。 拿我之前开发的粉笔网iPhone客户端为例,其使用了14个第三方开源库。在没有使用CocoaPods以前,我需要: 把这些第三方开源库的相关文件复制到项目中,或者设置成git的submodule,然后这些开源库通常需要依赖系统的一些framework,我需要手工地将这些framework一一增加到项目依赖中,比如ASI网络库就需要增加以下framework: CFNetwork, SystemConfiguration, MobileCoreServices, CoreGraphics and zlib。

iOS开发~CocoaPods使用详细说明

给你一囗甜甜゛ 提交于 2020-02-13 15:32:40
CocoaPods的安装 Ruby环境搭建 a. mac自身带ruby 查看下当前ruby版本:打开终端输入 ruby -v(确实安装了,不过用这个版本接下来工作失败了,所以更新下ruby) ritekiMac-mini:PodTest lucky$ ruby -v ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0] ritekiMac-mini:PodTest lucky$ b. 更新ruby 终端输入如下命令(把Ruby镜像指向taobao,避免被墙,你懂得) gem sources --remove https://rubygems.org/ gem sources -a http://ruby.taobao.org/ gem sources -l (用来检查使用替换镜像位置成功) ritekiMac-mini:~ lucky$ gem sources --remove https://rubygems.org/ https://rubygems.org/ removed from sources ritekiMac-mini:~ lucky$ gem sources -a http://ruby.taobao.org/ http://ruby.taobao.org/ added to sources

k8s中Pod、ReplicaSet、Deployment、Service对比

爱⌒轻易说出口 提交于 2020-02-13 11:12:48
Pod、ReplicaSet、Deployment、Service之间的关系如下图 Pod: Pod是一个或多个容器的组合,这些容器共享存储、网络和命名空间,以及如何运行的规范。Pod是Kubernetes的最小可部署单元。Pod的中文译词是豌豆荚,docker容器就像是豆子运行在豌豆荚内。 ReplicaSet: 先说下Replication Controller。Replication Controller的作用是确保Pod以指定的副本个数运行。 ReplicaSet是Replication Controller升级版。ReplicaSet和Replication Controller之间的唯一区别是对选择器支持。Replication Controller只支持基于等式的selector(env=dev或environment!=qa),但ReplicaSet还支持新的,基于集合的selector(version in (v1.0,v2.0)或env notin (dev, qa))。 在yaml文件中通过spec.replicas声明pod的副本数。 Deployment: Deployment用于管理Pod、ReplicaSet,可实现滚动升级和回滚应用、扩容和缩容。 Service: 试想一个问题,ReplicaSet定义了pod的数量是2

Framework | Kubernetes

送分小仙女□ 提交于 2020-02-12 19:48:51
Catalogue Introduction 1.1 Why need K8s (Characteristic) 1.2 Similar products 1.3 Architecture diagram 1.4 Pod 1.5 Pods Manager 1.5.1 Replication Set (RS) 1.5.2 Deployment 1.5.3 Horizontal Pod Auto scaling (HPA) Introduction 1.1 Why need K8s (Characteristic) Containers cluster (or containers manager) Lightweight Capacity scalable Load balancing 1.2 Similar products Apache MESOS Docker Swarm 1.3 Architecture diagram Kubernetes Pod 1.4 Pod 1.5 Pods Manager 1.5.1 Replication Set (RS) pods manager 1.5.2 Deployment automatic creates replication set (RS) supports rolling update 1.5.3 Horizontal Pod

kubelet-源码分析--启动篇

坚强是说给别人听的谎言 提交于 2020-02-12 19:44:40
在Kubernetes集群中,每个Node节点(又称Minion)上都会启动一个Kubelet服务进行。该进程用于处理Master节点下发到本节点的任务,管理Pod及Pod中的容器。每个Kubelet进程会在API Server上注册节点自身信息,定期向Master节点汇报节点资源的使用情况,并通过cAdvise监控容器和节点资源。 此源码分析基于 K8s 1.14.6 Kubelet 架构 若想解读 Kubelet 源码,首先我们需要了解 Kubelet 的主要架构及组件。 启动入口 kubelet 的主函数入口在 cmd/kubelet/kubelet.go 中,启动代码很简洁: func main() { rand.Seed(time.Now().UnixNano()) // 这里则是启动 kubelet 服务进程,返回一个*cobra.Command command := app.NewKubeletCommand(server.SetupSignalHandler()) logs.InitLogs() defer logs.FlushLogs() if err := command.Execute(); err != nil { fmt.Fprintf(os.Stderr, "%v\n", err) os.Exit(1) } } app.NewKubeletCommand

Kubelet 源码分析--启动篇

被刻印的时光 ゝ 提交于 2020-02-12 19:39:55
在Kubernetes集群中,每个Node节点(又称Minion)上都会启动一个Kubelet服务进行。该进程用于处理Master节点下发到本节点的任务,管理Pod及Pod中的容器。每个Kubelet进程会在API Server上注册节点自身信息,定期向Master节点汇报节点资源的使用情况,并通过cAdvise监控容器和节点资源。 此源码分析基于 K8s 1.14.6 Kubelet 架构 若想解读 Kubelet 源码,首先我们需要了解 Kubelet 的主要架构及组件。 启动入口 kubelet 的主函数入口在 cmd/kubelet/kubelet.go 中,启动代码很简洁: func main() { rand.Seed(time.Now().UnixNano()) // 这里则是启动 kubelet 服务进程,返回一个*cobra.Command command := app.NewKubeletCommand(server.SetupSignalHandler()) logs.InitLogs() defer logs.FlushLogs() if err := command.Execute(); err != nil { fmt.Fprintf(os.Stderr, "%v\n", err) os.Exit(1) } } app.NewKubeletCommand

POD C++

冷暖自知 提交于 2020-02-12 13:20:04
Plain Old Data https://zh.cppreference.com/w/cpp/named_req/PODType 简言之,针对POD对象,其二进制内容是可以随便复制的,在任何地方,只要其二进制内容在,就能还原出正确无误的POD对象。对于任何POD对象,都可以使用memset()函数或者其他类似的内存初始化函数。 这表示该类型与用于 C 程序语言的类型兼容,即能直接以其二进制形式与 C 库交互。 注意:标准中并没有定义具有这个名字的具名要求。这是核心语言所定义的一种类型类别。将它作为具名要求包含于此只是为了保持一致性。 此类型要求在 C++ 标准中已弃用。其所有使用都已被替换成更为斟酌过的类型要求,例如 平凡类型 (TrivialType) 。 (C++20 起) 要求 以下之一: 标量类型 ; 满足下列要求的类类型( class 或 struct 或 union): 聚合类型 ; 没有非 POD 的非静态成员; 没有引用类型的成员; 没有用户定义的复制构造函数; 没有用户定义的析构函数 (C++11 前) 为 平凡类型 ; 为 标准布局类型 ; 没有非 POD 的非静态成员; (C++11 起) 这种类型的数组 ----------------------------------------------------------------------------