Pod Priority Preemption: Pod优先级调度

对于运行各种负载(如Service、Job)的中等规模或者大规模的集群来说,出于各种原因,我们需要尽可能提高集群的资源利用率。而提高资源利用率的常规做法是采用优先级方案。即不同类型的负载对应不同的优先级,同时允许集群中的所有负载所需的资源总量超过集群可提供的资源。在这种情况下,当发生资源不足的情况时,系统可以选择释放一些不重要的负载(优先级最低的),保障最重要的负载能够获取足够的资源稳定运行。Kubernetes 1.8版本引入了基于Pod优先级抢占(Pod Priority Preemption)_pod优先调度
分类: 其他 发布时间: 08-04 23:36 阅读次数: 0

pod调度之DaemonSet

DaemonSet是k8s 1.2版本新增的一种资源对象,用于管理在集群中每个Node上仅运行一份Pod的副本实例。这种用法适合有以下需求的应用:在每个node上都运行一个GlusterFS存储或者Ceph存储的Daemon进程。在每个node上都运行一个日志采集程序,例如Fluentd或者Logstach。在每个node上都运行一个性能监控程序,采集该node的运行性能数据,例如prometheus node exporter、colletcd、new relic agent,或者ganglia_demoset的updatestrategy
分类: 其他 发布时间: 08-04 23:36 阅读次数: 0

pod调度之Job:批处理调度

Kubernetes从1.2版本开始支持批处理类型的应用,我们可以通过Kubernetes Job资源对象来定义并启动一个批处理任务。批处理任务通常**并行(或者串行)**启动多个计算进程去处理一批工作项(work item),处理完成后,整个批处理任务结束。按照批处理任务实现方式的不同,批处理任务可以分为以下的几种模式:Job Template Expansion模式:一个Job对象对应一个待处理的Work item,有几个Work item就产生几个独立的Job。通常适合Work item_kubectl single-jobs
分类: 其他 发布时间: 08-04 23:36 阅读次数: 0

pod调度之CrontJob:定时任务

Cron Job 管理基于时间的 Job,即:在给定时间点只运行一次周期性地在给定时间点运行一个 CronJob 对象类似于 crontab (cron table)文件中的一行。它根据指定的预定计划周期性地运行一个 Job。我们需要掌握Cron Job的定时表达式,它基本上照搬了Linux Cron的表达式,区别是第1位是分钟而不是秒,格式如下:Minutes Hours DayofMonth Moth DaYofWeek Year其中每个域都可出现的字符如下:Minutes:可出现“_.
分类: 其他 发布时间: 08-04 23:35 阅读次数: 0

Init Container(初始化容器)

在很多应用场景中,应用在启动之前都需要进行如下初始化操作:等待其他关联组件正确运行(例如数据库或某个后台服务)基于环境变量或配置模板生成配置文件。从远程数据库获取本地所需配置,或者将自身注册到某个中央数据库中。下载相关依赖包,或者对系统进行一些预配置操作。Kubernetes 1.3引入了一个Alpha版本的新特性init container(初始化容器),用于在启动应用容器(app container)之前启动一个或多个初始化容器,完成应用容器所需的预置条件,如图所示。init cont_docker init container
分类: 其他 发布时间: 08-04 23:35 阅读次数: 0

基于prometheus的HPA实战

架构如下:关键组件包括:Prometheus:定期采集各pod的性能指标Custom Metrics Server:自定义Metrics Serverr,用prometheus Adapter进行具体实现。通过Metrics Aggregate将自定义指标API注册到API server中。HPA Controllerkubernetes的HPA控制器。基于用户定义的策略进行自动扩容缩容操作。开始部署:在Master的API Server启动Aggregation层,通过设置k_kubernetes hpa prometheus
分类: 其他 发布时间: 08-04 23:35 阅读次数: 0

动态存储管理实战: 独立部署GlusterFS

准备 工作为了能够使用GlusterFS,首先在计划用于GlusterFS的各个Node上安装GlusterFS客户端:yum -y install glusterfs glusterfs-fuseGlusterFS 管理服务容器需要以特权模式运行,在kube-apiserver的启动参数中增加:vim /etc/kubernetes/apiserver新增:--allow-privileged=true重启kube-apiserver服务给节点打标签,是为了将GlusterFS容器定向_.
分类: 其他 发布时间: 08-04 23:35 阅读次数: 0

pod调度之StatefulSet

RC、Deployment、DaemonSet都是面向无状态的服务,它们所管理的Pod的IP、Hostname、启停顺序等都是随机的,被管理的Pod重建时,Pod的IP、Hostname都会有变化。而StatefulSet是有状态的集合,管理所有有状态的服务,比如MySQL、MongoDB集群等。StatefulSet本质上是Deployment的一种变体,在v1.9版本中已成为GA版本,它为了解决有状态服务的问题,它所管理的Pod拥有固定的Pod名称、启停顺序。在StatefulSet中,Pod名字_labels: role: mongo environment: test
分类: 其他 发布时间: 08-04 23:34 阅读次数: 0

k8s service的基本用法

一般来说,对外提供服务的应用程序需要通过某种机制来实现,对于容器应用最简便的方式就是通过TCP/IP机制及监听IP和端口号来实现。例如,定义一个提供Web服务的RC,由两个Tomcat容器副组成,每个容器都通过containerPort设置提供服务的端口号为8080:webapp-rc.yamlapiVersion: v1kind: ReplicationControllermetadata: name: webappspec: replicas: 2 template: m_.
分类: 其他 发布时间: 08-04 23:34 阅读次数: 0

Headless Services

什么是Headless ServicesHeadless Services是一种特殊的service,其spec:clusterIP表示为None,这样在实际运行时就不会被分配ClusterIP。也被称为无头服务。Headless Services使用场景第一种:自主选择权,有时候client想自己决定使用哪个Real Server,可以通过查询DNS来获取Real Server的信息第二种:headless service关联的每个endpoint(也就是Pod),都会有对应的DNS域名;这样Po_headless service endpoints
分类: 其他 发布时间: 08-04 23:34 阅读次数: 0

从集群外部访问pod或service

由于Pod和Service都是Kubernetes集群范围内的虚拟概念,所以集群外的客户端系统无法通过Pod的IP地址或者Service的虚拟IP地址和虚拟端口号访问它们。为了让外部客户端可以访问这些服务,可以将Pod或Service的端口号映射到宿主机,以使客户端应用能够通过物理机访问容器应用。将容器应用的端口号映射到物理机设置容器级别的hostPort通过设置容器级别的hostPort,将容器应用的端口号映射到物理机上:[root@k8s-master ~]# vim pod-hostport_集群怎么访问service
分类: 其他 发布时间: 08-04 23:34 阅读次数: 0

k8s 7层路由机制:Ingress

根据前面对 Service 的使用说明,我们知道 Service 的表现形式为IP:Port,工作在TCP/IP层.对于基于 HTTP 的服务来说,不同的URL地址经常对应到不同的后端服务或者虚拟服务器,这些应用层的转发机制仅通过kubernetes的Service机制是无法实现的。kubernetes V1.1版本中新增Ingress将不同URL的访问请求转发到后端不同的Service,以实现HTTP层的业务路由机制。Ingress由两部分组成:Ingress Controller 和 Ingres_k8s如何拉去nginx-ingress-controller:0.30.0镜像
分类: 其他 发布时间: 08-04 23:33 阅读次数: 0

kubernetes 实操:tomcat+mysql

环境:[root@k8s-master myweb]# kubectl get nodesNAME STATUS ROLES AGE VERSIONk8s-master Ready master 168d v1.17.0k8s-node1 Ready <none> 168d v1.17.0k8s-node2 Ready <none> 168d v1.17.0需要启动两个容器myw_.
分类: 其他 发布时间: 08-04 23:33 阅读次数: 0

Kubernetes 部署Dashboard

环境:kubeadm安装的集群版本:v1.17.0官方文档:https://github.com/kubernetes/dashboardKubernetes Dashboard 是 Kubernetes 的官方 Web UI。使用 Kubernetes Dashboard,你可以:向 Kubernetes 集群部署容器化应用诊断容器化应用的问题管理集群的资源查看集群上所运行的应用程序创建、修改Kubernetes 上的资源(例如 Deployment、Job、DaemonSet等)展示集_k8s上启动dashboard报错spec.template.annotations.seccomp.security.alpha.kuber
分类: 其他 发布时间: 08-04 23:33 阅读次数: 0

kubernetes 应用包管理工具:Helm

文章目录1.1 Helm介绍1.2 Helm主要概念1.3 Helm V3 与 V2 区别1.4 Helm下载地址:1.5 Helm安装2.1 Helm 添加第三方 Chart 库2.2 列出所有仓库3 Helm 部署应用4 构建 Helm 自定义Chart4.1 快速制作自定义chart4.2 从0制作自定义chart通过之前的学习,我们已经可以部署Pod,Deploymen,Service,Ingress,ConfigMap等kubernetes资源了,对于一个复杂的应用,我们可能需要部署多个资源,才_k8s应用包
分类: 其他 发布时间: 08-04 23:33 阅读次数: 0

k8s API Server认证管理

Kubernetes集群中所有资源的访问和变更都是通过Kubernetes API Server的REST API来实现的,所以集群安全的关键点就在于如何识别并认证客户端身份(Authentication)以及随后访问权限的(Authorization)Kuernetes 提供3种级别的客户端身份认证方式:HTTPS证书认证:基于CA根证书签名的双向数字证书认证方式HTTP Token认证:通过一个Token来识别合法用户HTTP Base认证:通过用户名+密码的方式验证HTTPS证书认证原理_k8s apiserver证书认证流程
分类: 其他 发布时间: 08-04 23:32 阅读次数: 0

k8s API Server授权管理

目录授权策略1. ABAC授权模式详解1.1访问策略对象(1)主体属性(2)资源属性(3)非资源属性1.2 ABAC授权算法1.3 使用kubectl时的授权机制1.4 常见的ABAC授权示例1.5 对Service Account进行授权2.Webhook授权模式详解当客户端发起API Server调用时,API Server内部要:先进行用户认证然后执行用户授权流程,即通过授权策略来决定一个API调用是否合法。对合法用户进行授权并且随后在用户访问时进行鉴权,是权限与安全系统的重要一环。简单_k8s 授权策略 alwaysdeny
分类: 其他 发布时间: 08-04 23:32 阅读次数: 0

serviceaccount

https://blog.csdn.net/BigData_Mining/article/details/88529157https://blog.csdn.net/Mr_rsq/article/details/107353395_.
分类: 其他 发布时间: 08-04 23:32 阅读次数: 0

prometheus监控MySQL实例

添加MySQL监控主机,这里以添加10.10.20.14为例进行说明。解压exporter压缩包。下载 mysql_exporter插件mysql_exporter下载地址:https://github.com/prometheus/mysqld_exporter/releases/download/v0.12.1/mysqld_exporter-0.12.1.linux-amd64.tar.gz安装mysql_exporter1、下载到被监控端解压压缩包tar zxvf mysqld_exp_.
分类: 其他 发布时间: 08-04 23:31 阅读次数: 0

蓝桥杯历届试题 --- 小数第n位(java)

蓝桥杯历届试题 — 小数第n位(java)问题描述   我们知道,整数做除法时,有时得到有限小数,有时得到无限循环小数。如果我们把有限小数的末尾加上无限多个0,它们就有了统一的形式。  本题的任务是:在上面的约定下,求整数除法小数点后的第n位开始的3位数。输入格式  一行三个整数:a b n,用空格分开。a是被除数,b是除数,n是所求的小数后(0<a,b,n<10000000..._历届试题 小数第n位(java)
分类: 其他 发布时间: 08-04 23:31 阅读次数: 0