kubernetes
文章平均质量分 79
一起学习kubernetes
Hugo_Hoo
这个作者很懒,什么都没留下…
展开
-
k8s教程:13.初步认识kubernetes的健康检查
有时候大家对于使用容器编排工具kubernetes的好处是什么会有一定的疑惑,强大的kubernetes究竟可以在日常的运维和系统部署中帮我们减轻什么样子的工作呢?其实大家都忽略了kubernetes的一个强大功能,那就是他的健康检查和自愈能力。在我们日常的运维过程中,不可避免会出现新拉取的镜像不能启动,容器因为各种问题而导致意外进程结束等,这时候我们就必须人工手动重启拉取旧的镜像或者是将容器重新启动。这部分人工过程实在是太耗费资源了,毕竟你是不知道它什么时候会发生,让运维同学提心吊胆啊。但是得益于k原创 2020-11-02 19:00:17 · 306 阅读 · 0 评论 -
k8s教程:12.Rolling Update--实现我们的滚动更新
今天是1024程序员节日,好不容易放个假,就继续带着大家学习一下k8s的基础教程吧,消失了一段时间,不知道大家还记得以前的教程系列吗?如果不清楚的,可以回看我之前的系列文章,温故而知新啊!!在前面的教程中我们学习了怎么在k8s上部署我们的项目,接下来,就开始我们怎么通过k8s去滚动更新我们的项目代码吧。在K8s中,如果我们为一个项目容器创建多个pod的时候,当我们在进行pod中的容器镜像更新时,k8s会帮助我们实现滚动更新,保证在实际的线上访问始终保持至少一个可用pod在启用,不会造成更新停机或者是业务原创 2020-10-24 21:59:06 · 1891 阅读 · 0 评论 -
k8s教程:11.Service 的三种类型 ClusterIP、NodePort 和 LoadBalancer
我们都知道Service就是kubernetes为我们提供访问不稳定Pod的一种形式,那么具体Service一共有多少种类型呢?每一种类型可以帮助我们解决什么途径的访问Pod的问题呢?今天就由我和大家一起去学习吧!ClusterIPService 通过 Cluster 内部的 IP 对外提供服务,只有 Cluster 内的节点和 Pod 可访问,这是默认的 Service 类型。ClusterIP是一种虚拟IP,他并不是真实存在的,它由kubernetes中的iptables规则管理着。它的作用是为原创 2020-10-21 22:53:21 · 2725 阅读 · 0 评论 -
k8s教程:10.通过Service来访问我们的Pod
在前面的重要概念中我们介绍了service,这是kubernetes为了解决存在多个pod的情况下,如何不依赖随时变更的ip就能够正常访问到pod里面的容器所定义的新概念。在实际的应用中,尽管我们都坚信Pod是健壮的,不会出现异常或者是销毁的情况。但是我们还是不应该期望这个可能性。因为Pod是脆弱的。每个Pod在被创建的时候都会分配随机的IP,这就意味着每一个Pod的IP都是不一样的。当我们线上的某一个Pod出现故障而被销毁的同时,会同步创建一个新的Pod,用新的Pod替代原来故障的继续工作,新的Po原创 2020-06-17 20:46:17 · 1092 阅读 · 1 评论 -
k8s教程:9.应用kubernetes的特点--Scale Up/Down
我们都知道,kubernetes提供一个非常好用的特点就是可以随意地对我们服务器上的应用容器进行水平伸缩,这个特点让我们能够很好的根据线上的请求量或者是网站响应性能进行按需伸缩。我们在之前演示的yaml示例中也知道,我们可以通过更新里面的spec的replicas中的副本数,可以实现对基础单元pod的副本数进行伸缩。我们执行:kubectl get pod -n 你自己的命名空间 -o wide可以看到我的一个consul容器只有一个副本在running,现在我们要对consul进行水平伸缩,只原创 2020-05-25 20:18:02 · 452 阅读 · 0 评论 -
k8s教程:8.学习怎么写好k8s的资源清单--YAML
我们都知道在kubernetes中创建一个资源(无论是deployment还是job)的几种方式。但是大家估计对于怎么写资源清单(YAML)文件还是无从下手吧。今天我就从kubernetes中的yaml文件的格式和内容来向大家介绍怎么写出我们想要的yaml文件。上图就是我们创建一个pod的yaml文件的基本内容,他会包括:apiVersion、kind、metadata、spec等一些属性。1. 必须存在的属性2. 主要的对象3. 额外存在的参数项...原创 2020-05-24 15:36:04 · 636 阅读 · 0 评论 -
k8s教程:7.创建启动controller的方法
上一个教程我们使用简单的命令行通过kubectl调用api-server的接口创建一个资源。那么在实际的应用中,我们一共有两种方法去创建需要的资源。命令kubectl命令我们通过上章的命令可以直接在kubernetes的master节点执行,就会进行相应资源的创建:kubectl run db-mysql \ --image=mysql:5.7 \ --port=3306yaml文件那么另一种命令行是使用自定义的yaml文件进行资源的配置之后,在kubernete原创 2020-05-23 15:13:45 · 606 阅读 · 0 评论 -
k8s教程:6.创建启动第一个deployment应用
从本教程开始,我们将会通过实践来深入学习前面教程解读过的概念。我们这次先从创建一个基本的deployment应用开始入手。首先,我们执行下面这条脚本创建一个简单的deployment:kubectl run db-mysql \ --image=mysql:5.7 \ --port=3306然后我们执行下面这条命令获取刚刚创建的deployment:kubectl get deployment执行完命令之后我们可以看到db-mysql的一些状态信息,包括:是否准备、生原创 2020-05-19 21:26:47 · 2861 阅读 · 0 评论 -
k8s教程:5.Service概念的详细解读
经过前面的讲解,大家可能会产生一个疑问?那就是在kubernetes的同一个命名空间下面,不同的服务(系统)他们之间是怎么通讯的?一个系统或者服务可能同时存在多个pod,而且pod的调度是不确定的,那就是意味着如果我是直接将每个pod的ip作为访问的依据是不行的,因为我们根本不知道这个pod什么时候会被调度到那个node节点上,面对这个随时可能发生变化的访问ip,难以满足我们的正常服务间访问,kubernetes使用service帮我们解决这个问题。Service是是对应用的抽象,也是k8s中的基本操作单原创 2020-05-18 20:44:44 · 321 阅读 · 0 评论 -
k8s教程:4.Controller概念的详细解读
Controller在kubernetes中是一个比较重要的概念,本节教程会向大家讲解一下Controller的概念知识和不同种类的Controller应该在哪里使用和怎么使用。Kubernetes 通常不会直接创建 Pod,而是通过 Controller 来管理 Pod 的。Controller 中定义了 Pod 的部署特性,比如有几个副本,在什么样的 Node 上运行等。为了满足不同的业务场景,Kubernetes 提供了多种 Controller,包括 Deployment、ReplicaSet、D原创 2020-05-14 21:21:28 · 2839 阅读 · 0 评论 -
k8s教程:3.Pod概念的详细解读
上一篇文章我大概向大家描述了kubernetes中重要的概念,从本篇章开始,我将会针对之前的每一个重要概念进行一一详述,今天由Pod开始。Pod 是 Kubernetes 的最小工作单元。每个 Pod 包含一个或多个容器。Pod 中的容器会作为一个整体被 Master 调度到一个 Node 上运行。通常会将紧密相关的一组容器放到一个 Pod 中,同一个 Pod 中的所有容器共享 IP 地址和 Port 空间,也就是说它们在一个 network namespace 中。大家到这里可能会有一些疑惑,为什么k原创 2020-05-13 21:11:57 · 969 阅读 · 0 评论 -
k8s教程:2.kubernetes的重要概念
前面一节的话我们基本了解了kubernetes的前世今生,也大概明白在现今时代我们为什么要学习kubernetes。这一节的内容将为大家介绍kubernetes的重要概念。这是一张阿里云课堂的kubernetes架构图,从图中我们可以知道,kubernetes是由多个cluster组成的C/S架构体系。其中cluster分成两个部分,一部分为master节点,另外一部分是node节点,也是我们经常听到的woker节点。我们通过命令行的CLI或者是UI界面(dashboard等)去将操作kubernet原创 2020-05-12 21:06:14 · 250 阅读 · 0 评论 -
k8s教程:1.一起了解什么是kubernetes
从今天开始,我将会和大家一起学习kubernetes,毕竟现在是一个云原生的时代,如果到这个时候还不去了解和学习关于kubernetes的知识,很快我们就会被淘汰的。好,下面我们立刻进入正题:1. what is kubernetes?Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能Kubernetes的名字来自希腊语,意思是“舵手” 或 “领航员”。K8s是将8个字母“ubernete”替换为“8”的缩写2. 为什么要学习kuber原创 2020-05-11 21:38:36 · 286 阅读 · 0 评论