自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (3)
  • 收藏
  • 关注

原创 Pod详解-生命周期-容器探测

容器探测用于检测容器中的应用实例是否正常工作,是保障业务可用性的一种传统机制。如果经过探测,实例的状态不符合预期,那么kubernetes就会把该问题实例" 摘除 ",不承担业务流量。kubernetes提供了两种探针来实现容器探测,分别是: liveness probes:存活性探针,用于检测应用实例当前是否处于正常运行状态,如果不是,k8s会重启容器 readiness probes:就绪性探针,用于检测应用实例当前是否可以接收请求,如果不能,k8s不会转发流量 livenessP

2021-09-12 16:42:36 1489

原创 Pod详解-生命周期-钩子函数

钩子函数能够感知自身生命周期中的事件,并在相应的时刻到来时运行用户指定的程序代码。kubernetes在主容器的启动之后和停止之前提供了两个钩子函数: post start:容器创建之后执行,如果失败了会重启容器 pre stop :容器终止之前执行,执行完成之后容器将成功终止,在其完成之前会阻塞删除容器的操作 钩子处理器支持使用下面三种方式定义动作: Exec命令:在容器内执行一次命令 …… lifecycle: postStart: exec

2021-09-12 16:42:25 289

原创 Pod详解-生命周期-初始化容器

初始化容器是在pod的主容器启动之前要运行的容器,主要是做一些主容器的前置工作,它具有两大特征: 初始化容器必须运行完成直至结束,若某初始化容器运行失败,那么kubernetes需要重启它直到成功完成 初始化容器必须按照定义的顺序执行,当且仅当前一个成功之后,后面的一个才能运行 初始化容器有很多的应用场景,下面列出的是最常见的几个: 提供主容器镜像中不具备的工具程序或自定义代码 初始化容器要先于应用容器串行启动并运行完成,因此可用于延后应用容器的启动直至其依赖的条件得到满

2021-09-12 16:42:14 1178

原创 Pod详解-生命周期-创建和终止

pod的创建过程 用户通过kubectl或其他api客户端提交需要创建的pod信息给apiServer apiServer开始生成pod对象的信息,并将信息存入etcd,然后返回确认信息至客户端 apiServer开始反映etcd中的pod对象的变化,其它组件使用watch机制来跟踪检查apiServer上的变动 scheduler发现有新的pod对象要创建,开始为Pod分配主机并将结果信息更新至apiServer node节点上的kubelet发现有pod调度

2021-09-12 16:42:05 309

原创 Pod详解-生命周期-概述

我们一般将pod对象从创建至终的这段时间范围称为pod的生命周期,它主要包含下面的过程: pod创建过程 运行初始化容器(init container)过程 运行主容器(main container) 容器启动后钩子(post start)、容器终止前钩子(pre stop) 容器的存活性探测(liveness probe)、就绪性探测(readiness probe) pod终止过程 在整个生命周期中,Pod会出现5种状态(.

2021-09-12 16:41:50 284

原创 Pod详解-资源配额

容器中的程序要运行,肯定是要占用一定资源的,比如cpu和内存等,如果不对某个容器的资源做限制,那么它就可能吃掉大量资源,导致其它容器无法运行。针对这种情况,kubernetes提供了对内存和cpu的资源进行配额的机制,这种机制主要通过resources选项实现,他有两个子选项: limits:用于限制运行时容器的最大占用资源,当容器占用资源超过limits时会被终止,并进行重启 requests :用于设置容器需要的最小资源,如果环境资源不够,容器将无法启动 可以通过上面两个选项设置资源

2021-09-12 16:41:39 682

原创 Pod详解-端口设置

首先看下ports支持的子选项:[root@k8s-master01 ~]# kubectl explain pod.spec.containers.portsKIND: PodVERSION: v1RESOURCE: ports <[]Object>FIELDS: name <string> # 端口名称,如果指定,必须保证name在pod中是唯一的 containerPort<integer> # 容器要监听的

2021-09-12 16:41:27 2030

原创 Pod详解-环境变量

创建pod-env.yaml文件,内容如下:apiVersion: v1kind: Podmetadata: name: pod-env namespace: devspec: containers: - name: busybox image: busybox:1.30 command: ["/bin/sh","-c","while true;do /bin/echo $(date +%T);sleep 60; done;"] env: # 设置环境变量

2021-09-12 16:41:08 1209

原创 kubernetes-Pod定义

下面是Pod的资源清单:apiVersion: v1 #必选,版本号,例如v1kind: Pod   #必选,资源类型,例如 Podmetadata:   #必选,元数据 name: string #必选,Pod名称 namespace: string #Pod所属的命名空间,默认为"default" labels:    #自定义标签列表 - name: string   spec: #必...

2021-09-12 00:11:40 346

原创 kubernetes-Pod结构

每个Pod中都可以包含一个或者多个容器,这些容器可以分为两类: 用户程序所在的容器,数量可多可少 Pause容器,这是每个Pod都会有的一个根容器,它的作用有两个: 可以以它为依据,评估整个Pod的健康状态 可以在根容器上设置Ip地址,其它容器都此Ip(Pod IP),以实现Pod内部的网路通信 这里是Pod内部的通讯,Pod的之间的通讯采用虚拟二层网络技术来实现,我们当前环境用的是Flannel ...

2021-09-12 00:11:20 249

原创 kubernetes-Service

通过上节课的学习,已经能够利用Deployment来创建一组Pod来提供具有高可用性的服务。虽然每个Pod都会分配一个单独的Pod IP,然而却存在如下两问题: Pod IP 会随着Pod的重建产生变化 Pod IP 仅仅是集群内可见的虚拟IP,外部无法访问 这样对于访问这个服务带来了难度。因此,kubernetes设计了Service来解决这个问题。Service可以看作是一组同类Pod对外的访问接口。借助Service,应用可以方便地实现服务发现和负载均衡。操作.

2021-09-11 15:00:12 80

原创 kubernetes-Deployment

在kubernetes中,Pod是最小的控制单元,但是kubernetes很少直接控制Pod,一般都是通过Pod控制器来完成的。Pod控制器用于pod的管理,确保pod资源符合预期的状态,当pod的资源出现故障时,会尝试进行重启或重建pod。在kubernetes中Pod控制器的种类有很多,本章节只介绍一种:Deployment。命令操作# 命令格式: kubectl create deployment 名称 [参数] # --image 指定pod的镜像# --port 指定端口.

2021-09-11 14:41:25 126

原创 Kubernetes-Label

Label是kubernetes系统中的一个重要概念。它的作用就是在资源上添加标识,用来对它们进行区分和选择。Label的特点: 一个Label会以key/value键值对的形式附加到各种对象上,如Node、Pod、Service等等 一个资源对象可以定义任意数量的Label ,同一个Label也可以被添加到任意数量的资源对象上去 Label通常在资源对象定义时确定,当然也可以在对象创建后动态添加或者删除 可以通过Label实现资源的多维度分组,以便灵活、方便地进行资源分配

2021-09-11 14:22:21 147

原创 kubernetes-Pod

Pod是kubernetes集群进行管理的最小单元,程序要运行必须部署在容器中,而容器必须存在于Pod中。Pod可以认为是容器的封装,一个Pod中可以存在一个或者多个容器。kubernetes在集群启动之后,集群中的各个组件也都是以Pod方式运行的。可以通过下面命令查看:kubernetes在集群启动之后,集群中的各个组件也都是以Pod方式运行的。可以通过下面命令查看:[root@master ~]# kubectl get pod -n kube-systemNAMESPACE .

2021-09-11 14:04:58 75

原创 Namespace

Namespace是kubernetes系统中的一种非常重要资源,它的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离。默认情况下,kubernetes集群中的所有的Pod都是可以相互访问的。但是在实际中,可能不想让两个Pod之间进行互相的访问,那此时就可以将两个Pod划分到不同的namespace下。kubernetes通过将集群内部的资源分配到不同的Namespace中,可以形成逻辑上的"组",以方便不同的组的资源进行隔离使用和管理。可以通过kubernetes的授权机制,将不同的nam

2021-09-11 13:35:45 247

原创 声明式对象配置

声明式对象配置跟命令式对象配置很相似,但是它只有一个命令apply。# 首先执行一次kubectl apply -f yaml文件,发现创建了资源[root@master ~]# kubectl apply -f nginxpod.yamlnamespace/dev createdpod/nginxpod created​# 再次执行一次kubectl apply -f yaml文件,发现说资源没有变动[root@master ~]# kubectl apply -f nginxpod

2021-09-11 12:50:50 331

原创 命令式对象配置

命令式对象配置就是使用命令配合配置文件一起来操作kubernetes资源。1) 创建一个nginxpod.yaml,内容如下:apiVersion: v1kind: Namespacemetadata: name: dev​---​apiVersion: v1kind: Podmetadata: name: nginxpod namespace: devspec: containers: - name: nginx-containers image: .

2021-09-11 12:49:51 120

原创 命令式对象管理

kubectl命令kubectl是kubernetes集群的命令行工具,通过它能够对集群本身进行管理,并能够在集群上进行容器化应用的安装部署。kubectl命令的语法如下:kubectl [command] [type] [name] [flags]comand:指定要对资源执行的操作,例如create、get、deletetype:指定资源类型,比如deployment、pod、servicename:指定资源的名称,名称大小写敏感flags:指定额外的可选参数# 查看所有

2021-09-11 12:41:31 92

原创 资源管理方式

资源管理方式 命令式对象管理:直接使用命令去操作kubernetes资源 kubectl run nginx-pod --image=nginx:1.17.1 --port=80 命令式对象配置:通过命令配置和配置文件去操作kubernetes资源 kubectl create/patch -f nginx-pod.yaml 声明式对象配置:通过apply命令和配置文件去操作kubernetes资源 kubectl apply -f nginx-pod.yaml 类

2021-09-11 12:09:12 77

原创 YAML语言介绍

YAML是一个类似 XML、JSON 的标记性语言。它强调以数据为中心,并不是以标识语言为重点。因而YAML本身的定义比较简单,号称"一种人性化的数据格式语言"。<heima> <age>15</age> <address>Beijing</address></heima>heima: age: 15 address: BeijingYAML的语法比较简单,主要有下面几个: 大小写敏感 ..

2021-09-11 12:06:49 912

score.csv (score.csv)

load data local inpath '/export/servers/hivedatas/score.csv' into table score2 partition(year='2018',

2020-02-29

teacher.csv

load data local inpath '/export/servers/hivedatas/student.csv' overwrite into table student;

2020-02-29

student.csv

load data local inpath '/export/servers/hivedatas/student.csv' into table student;

2020-02-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除