spec

kubernetes高级调度简单说明

时光怂恿深爱的人放手 提交于 2020-02-26 03:29:16
Node label使用说明 1.查看label kubectl get nodes --show-labels=true 2.创建label kubectl label node $(node_name) $key=$value 3.更新label kubectl label --overwrite node $(node_name) $key=$value 4.删除label kubectl label node $(node_name) $key- Node调度几种模式 首先看一下,我测试环境node label 1.nodeName模式 apiVersion: extensions/v1beta1 kind: Deployment metadata: name: hello-world spec: replicas: 3 template: metadata: labels: k8s-app: hello-world spec: nodeName: node1 containers: - name: hello-world image: registry.cn-qingdao.aliyuncs.com/icommon/hello-world:latest 2.nodeSelector模式 apiVersion: extensions/v1beta1 kind:

《programming kubernetes》API Basics

倖福魔咒の 提交于 2020-02-26 02:37:39
Introduction 所谓的云原生应用,能够清楚自己运行在k8s上,并且使用k8s api 和资源当作其扩展。 一方面,云原生应用能够轻便地在不同的云上迁移。另一方面,受益于k8s提供的简洁可定义声明式api。 Extension Patterns cloud providers: in-tree controller manager: kubelet: network, devices, storage, container runtimes extend kubectl with plugins extensions in the API server, dynamic admission control with webhook Custom resources and custom controllers. custom apiserver scheduler extensions. Controllers and operators controller: 实现了一个控制循环,从API server监听到的集群状态,并且把当前状态调整到预期状态。 operator: 是指controller+ 自定义资源的方式,去做像应用生命周期管理相关的一些操作。 the controller loop 读取资源的状态,更倾向于事件驱动。 改变集群或外部集群的对象的状态。

StatefulSet

无人久伴 提交于 2020-02-25 19:31:02
StatefulSet StatefulSet:Pod控制器。 ​ RC,RS,Deployment,DS。---------->无状态的服务。 ​ template(模板):根据模板创建出来的Pod,他们的状态都是一模一样的(除了名称,IP,域名之外) ​ 可以理解为:任何一个Pod,都可以被删除,然后用新生成的Pod进行替换。 有状态的服务:需要记录前一次或者多次通信中的相关事件,以作为一下通信的分类标准。比如:mysql等数据库服务。(Pod的名称,不能随意变化。数据持久化的目录也是不一样,每一个Pod都有自己独有的数据持久化存储目录。) ​ mysql:主从关系。 如果把之前无状态的服务比喻为牛,羊等牲畜。把有状态比喻为:宠物。 每一个Pod对应一个PVC,每一个PVC对应一个PV。 ​ storageclass:自动创建PV。 ​ 需要解决:自动创建PVC------------>volumeClaimTemplates [root@master ~]# vim statefulset.yaml apiVersion: v1 kind: Service metadata: name: headless-svc labels: app: headless-svc spec: ports: - port: 80 selector: app: headless-pod

[Hive - LanguageManual] Alter Table/Partition/Column

梦想的初衷 提交于 2020-02-23 13:40:12
Alter Table/Partition/Column Alter Table Rename Table Alter Table Properties Alter Table Comment Add SerDe Properties Alter Table Storage Properties Additional Alter Table Statements Alter Partition Add Partitions Dynamic Partitions Rename Partition Exchange Partition Recover Partitions (MSCK REPAIR TABLE) Drop Partitions (Un)Archive Partition Alter Either Table or Partition Alter Table/Partition File Format Alter Table/Partition Location Alter Table/Partition Touch Alter Table/Partition Protections Alter Table/Partition Compact Alter Table/Partition Concatenate Alter Column Rules for Column

使用librtmp进行H264与AAC直播

…衆ロ難τιáo~ 提交于 2020-02-15 13:26:33
libx264 版本是 128 libfaac 版本是 1.28 1、帧的划分 1.1 H.264 帧 对于 H.264 而言每帧的 界定符 为 00 00 00 01 或者 00 00 01 。 比如下面的 h264 文件片断这就包含三帧数据: 第一帧是 00 00 00 01 67 42 C0 28 DA 01 E0 08 9F 96 10 00 00 03 00 10 00 00 03 01 48 F1 83 2A 第二帧是 00 00 00 01 68 CE 3C 80 第三帧是 00 00 01 06 05 FF FF 5D DC 45 E9 BD E6 D9 48 B7 96 2C D8 20 D9 23 EE EF .. 帧类型有: NAL_SLICE = 1 NAL_SLICE_DPA = 2 NAL_SLICE_DPB = 3 NAL_SLICE_DPC = 4 NAL_SLICE_IDR = 5 NAL_SEI = 6 NAL_SPS = 7 NAL_PPS = 8 NAL_AUD = 9 NAL_FILLER = 12, 我们发送 RTMP 数据时只需要知道四种帧类型,其它类型我都把它规类成非关键帧。分别是 NAL_SPS(7), sps 帧 NAL_PPS(8), pps 帧 NAL_SLICE_IDR(5), 关键帧 NAL_SLICE(1) 非关键帧

kubernetes dashboard安装

六月ゝ 毕业季﹏ 提交于 2020-02-10 11:20:51
kubernetes dashboard安装 看 kubectl 版本 [root@master home]# kubectl version Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.3", GitCommit:"2d3c76f9091b6bec110a5e63777c332469e0cba2", GitTreeState:"clean", BuildDate:"2019-08-19T11:13:54Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"} Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.3", GitCommit:"2d3c76f9091b6bec110a5e63777c332469e0cba2", GitTreeState:"clean", BuildDate:"2019-08-19T11:05:50Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"} 下载 Dashboard yaml 文件 wget https://raw

Kubernetes(k8s)的滚动更新和回滚

时间秒杀一切 提交于 2020-02-06 00:50:44
1.部署httpd:2.2.31的版本 # vi httpd.yml apiVersion: apps/v1 kind: Deployment metadata: name: httpd spec: selector: matchLabels: run: httpd_web replicas: 2 template: metadata: labels: run: httpd_web spec: containers: - name: httpd image: httpd:2.2.31 ports: - containerPort: 80 # kubectl apply -f httpd.yml 2.查看httpd:2.2.31的部署信息 # kubectl get deployment -o wide NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR httpd 2/2 2 2 66m httpd httpd:2.2.31 run=httpd_web # kubectl get replicaset -o wide NAME DESIRED CURRENT READY AGE CONTAINERS IMAGES SELECTOR httpd-656f47889c 2 2 2 3h5m httpd httpd

Service资源清单

痴心易碎 提交于 2020-02-04 19:06:26
目录 一 Service资源清单 1 Service类型 2 创建Service 3 命令行创建 4 资源清单 4.1 资源清单定义获方法 4.2 ClusterIP资源清单 4.3 Nodeport资源清单 4.4 内网测试环境服务资源清单 一 Service资源清单 1 Service类型 - ClusterIP: 默认模式,只能在集群内部访问 - Nodeport: 每个节点上都监听一个同样的端口号(30000-32767),集群外部可以访问<NodeIP>:<NodePort>联系到集群内部服务,可以配合外部负载均衡使用(配合阿里云的SLB) - LoadBalancer: 要配合支持公有云负载均衡使用比如GCE、AWS。 其实也是NodePort,只不过会把<NodeIP>:<NodePort>自动添加到公有云的负载均衡当中 - ExternalName: 把集群外部的服务引入集群内部,直接使用 2 创建Service 基于命令行创建Service 基于资源清单创建Service,资源清单为yaml格式 3 命令行创建 # kubectl expose deployment nginx-deploy --name=nginx --port=80 --target-port==80 --protocol=TCP 4 资源清单 4.1 资源清单定义获方法 # kubectl

Spec 网上选课

让人想犯罪 __ 提交于 2020-02-04 18:12:50
角色定义 管理员 管理员负责向系统中添加学生和教师的个人信息以及课程信息,实现对教师、学生和课程信息的修改、删除、查询操作,并对管理员个人密码进行修改。 学生 学生具有查看待选课程信息和任课教师信息、学生个人密码修改、选择课程、查看所选课程和管理已选课程的功能,还可以输入查询条件进行查询操作。 教师 教师具有查看选择自己课程学生信息和开课信息、教师个人密码修改、学生成绩录入和修改的功能,还可以输入查询条件进行查询操作。 系统结构图 根据系统用户的不同可以划分为3个子系统:管理员子系统、学生子系统和教师子系统 系统结构图 系统活动图 用例分析 1) 管理员登录 管理员输入正确的用户名和密码登录系统 用例描述:管理员登录; 执行者:管理员; 前置条件:管理员进入学生选课系统管理员登录界面,输入正确的用户名、密码和验证码; 后置条件:管理员登录系统后,进入管理员首页; 基本路径: a) 进入学生选课系统登录界面; b) 点击管理员登录,进入管理员登录界面; c) 输入用户名、密码、验证码,点击登录。 2) 学生信息管理 用于对学生基本信息进行增加、删除及修改等基本操作,查看学生选课和课程信息 用例描述:学生信息管理 执行者:管理员 前置条件:管理员登录后台管理界面; 后置条件:如果学生信息维护成功,则学生的相关信息将记录到数据库中; 基本路径: a) 进入后台管理界面

pod控制器

三世轮回 提交于 2020-02-01 15:06:59
1 , 资源的清单格式: 一级字段:apiVersion(group/version), kind, metadata(name,namespace,labels,annotations, ...), spec,status(只读) 查看字段说明:kubectl explain pods 查看二级字段说明(例):kubectl explain pods.metadata 查看三级字段说明(例):kubectl explain pods.spec.containers •nodeSelector <map[string]string>:节点标签选择器 •nodeName <string> •annotations:与label不同的地方在于,它不能用于挑选资源对象,仅用于为对象提供“元数据” ◆Pod生命周期中的重要行为: •初始化容器 •容器探测: •liveness:存活性探测 •readiness:就绪性探测 •lifecycle:生命周期;定义启动后(poststart)和终止前(prestop)的钩子行为。 •查看帮助: kubectl explain pods.spec.containers.livenessProbe kubectl explain pods.spec.containers.livenessProbe.exec kubectl explain pods