随笔分类 -  kubernetes and docker

22.Kubernetes Ingress: HTTP 7层路由机制
摘要:Kubernetes 暴露服务的方式目前只有三种:LoadBlancer Service、NodePort Service、Ingress;下面详细的了解下Ingress。 根据前面对 Service 的使用说明,我们知道 Service 的表现形式为IP:Port,工作在TCP/IP层,而对于基于 阅读全文

posted @ 2019-06-04 21:28 orsonchen 阅读(821) 评论(0) 推荐(0)

21.Kubernetes之ConfigMap
摘要:应用部署的一个最佳实践是将应用所需的配置信息于程序进行分离,这样可以使得应用程序被更好的复用,通过不用配置文件也能实现更灵活的功能。将应用打包为容器镜像后,可以通过环境变量或外挂文件的方式在创建容器时进行配置注入。ConfigMap是Kubernetes v1.2版本开始提供的一种统一集群配置管理方 阅读全文

posted @ 2019-06-04 21:27 orsonchen 阅读(312) 评论(0) 推荐(0)

20.Kubernetes共享存储
摘要:Kubermetes对于有状态的容器应用或者对数据需要持久化的应用,不仅需要将容器内的目录挂载到宿主机的目录或者emptyDir临时存储卷,而且需要更加可靠的存储来保存应用产生的重要数据,以便容器应用在重建之后,仍然可以使用之前的数据。不过,存储资源和计算资源(CPU/内存)的管理方式完全不同。为了 阅读全文

posted @ 2019-06-04 21:26 orsonchen 阅读(563) 评论(0) 推荐(0)

19.Kubernetes深入Pod之容器共享Volume
摘要:Pod容器共享Volume 在同一个Pod中多个容器能够共享Pod级别的存储卷Volume,如图: 在下面的例子中,Pod内包含两个容器:tomcat和busybox,在Pod级别设置Volume“app-logs”,用于tomcat向其中写日志文件,busybox读取日志文件 配置文件pod-vo 阅读全文

posted @ 2019-06-04 21:24 orsonchen 阅读(395) 评论(0) 推荐(0)

17.Kubernetes深入Pod
摘要:本节将对kubernetes如何发布和管理应用进行说明和示例,主要包括Pod和容器的使用、Pod的控制和调度、应用配置管理等内容。 1.Pod定义详解 yaml格式的Pod定义文件的完整内容: apiVersion: v1 kind: Pod metadata: name: string names 阅读全文

posted @ 2019-06-04 21:23 orsonchen 阅读(159) 评论(0) 推荐(0)

18.Kubernetes深入Pod之静态Pod
摘要:静态Pod 静态Pod是由kubectl进行管理的仅存于特定Node上的Pod。他们不能通过API Server惊醒管理,无法与ReplicationController、Deployment或者DaemonSet进行关联,并且kubelet也无法对他们进行健康检查。静态Pod总是由kubectl进 阅读全文

posted @ 2019-06-04 21:23 orsonchen 阅读(413) 评论(0) 推荐(0)

16.Kubernetes之Deployment
摘要:Deployment在继承Pod和Replicaset的所有特性的同时, 它可以实现对template模板进行实时滚动更新并具备我们线上的Application life circle的特性。 1.创建Deployment # vi deployment.yaml apiVersion: apps/ 阅读全文

posted @ 2019-06-04 21:22 orsonchen 阅读(188) 评论(0) 推荐(0)

15.Kubernetes之ReplicaSet
摘要:Replicaset在继承Pod的所有特性的同时, 它可以利用预先创建好的模板定义副本数量并自动控制, 通过改变Pod副本数量实现Pod的扩容和缩容 缺点: 无法修改template模板, 也就无法发布新的镜像版本 1.创建Replicaset # vi replicaset.yaml apiVer 阅读全文

posted @ 2019-06-04 21:21 orsonchen 阅读(112) 评论(0) 推荐(0)

14.Kubernetes之Pod
摘要:Pod是一组紧密关联的容器集合,它们共享PID、IPC、Network和UTS namespace,是Kubernetes调度的基本单位。Pod的设计理念是支持多个容器在一个Pod中共享网络和文件系统,可以通过进程间通信和文件共享这种简单高效的方式组合完成服务。 缺点: 不支持高并发, 高可用, 当 阅读全文

posted @ 2019-06-04 21:20 orsonchen 阅读(112) 评论(0) 推荐(0)

13.Kubernetes小结
摘要:Kubernetes主要由以下几个核心组件组成: etcd保存了整个集群的状态; apiserver提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制; controller manager负责维护集群的状态,比如故障检测、自动扩展、滚动更新等; scheduler负责资源 阅读全文

posted @ 2019-06-04 21:18 orsonchen 阅读(181) 评论(0) 推荐(0)

12.Kubernetes Annotation(注解)
摘要:Annotation与Label类似,也使用key/value键值对的形式进行定义。不同的是Label具有严格的命名规则,它定义的是Kubernetes对象的元数据(Metadata),并且用于Label Selector。而Annotation则是用户任意定义的“附加”信息,以便于外部工具进行查找 阅读全文

posted @ 2019-06-04 21:17 orsonchen 阅读(804) 评论(0) 推荐(0)

11.Kubernetes Namespace介绍
摘要:Namespace(命名空间)是Kubernetes系统中的另一个非常重要的概念,Namespace在很多情况下用于实现多租户的资源隔离。Nameaspace通过将集群内部的资源对象“分配”到不同的Namespce中,形成逻辑上分组的不同项目、小组或用户组,便于不同的分组在共享使用整个集群的资源的同 阅读全文

posted @ 2019-06-04 21:16 orsonchen 阅读(212) 评论(0) 推荐(0)

10.Kubernetes存储之persistent volumes简介
摘要:说明 管理存储和管理计算有着明显的不同。PersistentVolume给用户和管理员提供了一套API,抽象出存储是如何提供和消耗的细节。在这里,我们介绍两种新的API资源:PersistentVolume(简称PV)和PersistentVolumeClaim(简称PVC)。 Persistent 阅读全文

posted @ 2019-06-04 21:15 orsonchen 阅读(1306) 评论(0) 推荐(0)

9.Kubernetes Volume(存储卷)
摘要:Volume是Pod中能够被多个容器访问的共享目录。Kubernetes的Volume概念、用途和目的与Docker的Volume比较类似,但两者不能等价。首先,Kubernetes中的Volume定义在Pod上,然后被一个Pod里的多个容器挂载到具体的文件目录下;其次,Kubernetes中的Vo 阅读全文

posted @ 2019-06-04 21:14 orsonchen 阅读(190) 评论(0) 推荐(0)

8.Kubernetes Service(服务)
摘要:1.概述 Service也是Kubernetes里的最核心的资源对象之一,Kubernetes里的每个Service其实就是我们经常提起的微服务架构中的一个“微服务”,之前我们所说的Pod、RC等资源对象其实都是为这节所说的“服务” Kubernetes Service作“嫁衣”的。图1.12显示了 阅读全文

posted @ 2019-06-04 21:13 orsonchen 阅读(274) 评论(0) 推荐(0)

7.Kubernetes StatefulSet介绍
摘要:在Kubernetes系统中,Pod的管理对象RC、Deployment、DaemonSet和Job都是面向无状态的服务。但现实中有很多服务是有状态的,特别是一些复杂的中间件集群,例如MySQL集群、MongoDB集群、Kafka集群、Zookeeper集群等,这些应用集群有以下一些共同点。 每个节 阅读全文

posted @ 2019-06-04 21:12 orsonchen 阅读(162) 评论(0) 推荐(0)

6.kubernetes自动扩容之Horizontal Pod Autoscaling(HPA)
摘要:我们通过手动执行kubectl scale命令,可以实现Pod扩容。但是,分布式系统要能够根据当前负载的变化情况自动触发水平扩展或缩容的行为,因为这一过程可能是频繁发生的、不可预料的,所以手动控制的方式是不现实的。 因此,在Kubernetes1.1版本中首次发布了这一重量级新特性 Horizont 阅读全文

posted @ 2019-06-04 21:11 orsonchen 阅读(323) 评论(0) 推荐(0)

5.Kubernetes Deployment介绍
摘要:Deployment是Kubernetes v1.2引入的概念,引入的目的是为了更好地解决Pod的编排问题。为此,Deployment在内部使用了Replica Set来实现目的,无论从Deployment的作用与目的,它的YAML定义,还是从它的具体命令行操作来看,我们都可以把它看作RC的一次升级 阅读全文

posted @ 2019-06-04 21:10 orsonchen 阅读(253) 评论(0) 推荐(0)

4.kubernetes 之Replication Controller
摘要:上一节的例子中已经对Replication Controller(简称RC)的定义和作用做了一些说明,本节对RC的概念进行深入描述。 RC是Kubernetes系统中的核心概念之一,简单来说,它其实是定义了一个期望的场景,即声明某种Pod的副本数量在任意时刻都符合某个预期值,所以RC的定义包括如下几 阅读全文

posted @ 2019-06-04 21:09 orsonchen 阅读(224) 评论(0) 推荐(0)

3.kubernetes Laebl(标签)
摘要:Label是Kubernetes系统中另外一个核心概念。一个Label是一个key=value的键值对,其中key与vaue由用户自己指定。Label可以附加到各种资源对象上,例如Node、Pod、Service、RC等,一个资源对象可以定义任意数量的Label,同一个Label也可以被添加到任意数 阅读全文

posted @ 2019-06-04 21:08 orsonchen 阅读(233) 评论(0) 推荐(0)

导航