Kubernetes的pod控制器之DaemonSet
DaemonSet 顶级参数介绍
[root@master manifests]# kubectl explain ds
KIND: DaemonSet
VERSION: extensions/v1beta1 DESCRIPTION:
DEPRECATED - This group version of DaemonSet is deprecated by
apps/v1beta2/DaemonSet. See the release notes for more information.
DaemonSet represents the configuration of a daemon set. FIELDS:
apiVersion <string>
APIVersion defines the versioned schema of this representation of an
object. Servers should convert recognized schemas to the latest internal
value, and may reject unrecognized values. More info:
https://git.k8s.io/community/contributors/devel/api-conventions.md#resources kind <string>
Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client submits
requests to. Cannot be updated. In CamelCase. More info:
https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds metadata <Object> 元数据
Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata spec <Object> 期望状态
The desired behavior of this daemon set. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status status <Object>
The current status of this daemon set. This data may be out of date by some
window of time. Populated by the system. Read-only. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
控制spec的参数
[root@master manifests]# kubectl explain ds.spec
KIND: DaemonSet
VERSION: extensions/v1beta1 RESOURCE: spec <Object> DESCRIPTION:
The desired behavior of this daemon set. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status DaemonSetSpec is the specification of a daemon set. FIELDS:
minReadySeconds <integer> 启动后等待多久应用可以就绪
The minimum number of seconds for which a newly created DaemonSet pod
should be ready without any of its container crashing, for it to be
considered available. Defaults to 0 (pod will be considered available as
soon as it is ready). revisionHistoryLimit <integer> 保留的历史版本
The number of old history to retain to allow rollback. This is a pointer to
distinguish between explicit zero and not specified. Defaults to 10. selector <Object>
A label query over pods that are managed by the daemon set. Must match in
order to be controlled. If empty, defaulted to labels on Pod template. More
info:
https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors template <Object> -required-
An object that describes the pod that will be created. The DaemonSet will
create exactly one copy of this pod on every node that matches the
template's node selector (or on every node if no node selector is
specified). More info:
https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template templateGeneration <integer>
DEPRECATED. A sequence number representing a specific generation of the
template. Populated by the system. It can be set only during the creation. updateStrategy <Object> 更新策略
An update strategy to replace existing DaemonSet pods with new pods.
创建DaemonSet 控制器模板
[root@master manifests]# cat ds-demo.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: redis
namespace: default
spec:
replicas: 1
revisionHistoryLimit: 3
selector:
matchLabels:
app: redis
strategy:
rollingUpdate:
maxSurge: 2
maxUnavailable: 0
type: RollingUpdate
template:
metadata:
labels:
app: redis
spec:
containers:
- name: redis
image: redis:4.0-alpine
ports:
- name: redis
containerPort: 6379
---
apiVersion: apps/v1
kind: DaemonSet
metadata: 元数据
name: myapp-ds
namespace: default
spec: 控制器期望状态
revisionHistoryLimit: 5 保留历史版本的个数
selector: 定义标签选择器
matchLabels: 标签选择器
app: myapp-ds 选定的标签
cx: ds
updateStrategy: 更新策略
rollingUpdate:
maxUnavailable: 1
type: RollingUpdate
template: pod 的定义
metadata: pod 元数据定义
labels: 定义标签
app: myapp-ds
cx: ds
name: myapp-ds pod的名字
namespace: default pod 名称空间
spec: pod 期望状态定义
containers: pod 里容器的定义
- name: filebea 容器名字
image: ikubernetes/filebeat:5.6.5-alpine 容器镜像的定义
env: 环境变量定义
- name: REDIS_HOST
value: redis.default.svc.cluster.local
- name: REDIS_LOG_LEVEL
value: info
运行pod
[root@master manifests]# kubectl apply -f ds-demo.yaml
deployment.apps/redis unchanged
daemonset.apps/myapp-ds configured
查看创建的pod
[root@master manifests]# kubectl get pods
NAME READY STATUS RESTARTS AGE
myapp-ds-b5hsx 1/1 Running 0 50s
myapp-ds-m7pss 1/1 Running 0 47s
redis-54f5db865-hcdwd 1/1 Running 0 17m
查看pod运行日志
[root@master manifests]# kubectl logs myapp-ds-m7pss
2019/08/11 16:12:21.734552 beat.go:297: INFO Home path: [/usr/local/bin] Config path: [/usr/local/bin] Data path: [/usr/local/bin/data] Logs path: [/usr/local/bin/logs]
2019/08/11 16:12:21.734604 beat.go:192: INFO Setup Beat: filebeat; Version: 5.6.5
2019/08/11 16:12:21.734771 metrics.go:23: INFO Metrics logging every 30s
2019/08/11 16:12:21.734940 redis.go:140: INFO Max Retries set to: 3
2019/08/11 16:12:21.734961 outputs.go:108: INFO Activated redis as output plugin.
2019/08/11 16:12:21.735038 publish.go:300: INFO Publisher name: myapp-ds-m7pss
2019/08/11 16:12:21.735169 async.go:63: INFO Flush Interval set to: 1s
2019/08/11 16:12:21.735178 async.go:64: INFO Max Bulk Size set to: 2048
2019/08/11 16:12:21.735332 modules.go:95: ERR Not loading modules. Module directory not found: /usr/local/bin/module
2019/08/11 16:12:21.735534 beat.go:233: INFO filebeat start running.
2019/08/11 16:12:21.735704 registrar.go:68: INFO No registry file found under: /var/log/containers/filebeat_registry. Creating a new registry file.
2019/08/11 16:12:21.736963 registrar.go:106: INFO Loading registrar data from /var/log/containers/filebeat_registry
2019/08/11 16:12:21.737003 registrar.go:123: INFO States Loaded from registrar: 0
2019/08/11 16:12:21.737028 crawler.go:38: INFO Loading Prospectors: 1
2019/08/11 16:12:21.737153 prospector_log.go:65: INFO Prospector with previous states loaded: 0
2019/08/11 16:12:21.737408 config.go:95: WARN DEPRECATED: document_type is deprecated. Use fields instead.
2019/08/11 16:12:21.737430 prospector.go:124: INFO Starting prospector of type: log; id: 11998382299604891537
2019/08/11 16:12:21.737438 crawler.go:58: INFO Loading and starting Prospectors completed. Enabled prospectors: 1
2019/08/11 16:12:21.737451 registrar.go:236: INFO Starting Registrar
2019/08/11 16:12:21.737470 sync.go:41: INFO Start sending events to output
2019/08/11 16:12:21.737498 spooler.go:63: INFO Starting spooler: spool_size: 2048; idle_timeout: 5s
2019/08/11 16:12:51.735339 metrics.go:39: INFO Non-zero metrics in the last 30s: registrar.writes=1
2019/08/11 16:13:21.736172 metrics.go:34: INFO No non-zero metrics in the last 30s
2019/08/11 16:13:51.735741 metrics.go:34: INFO No non-zero metrics in the last 30s
2019/08/11 16:14:21.736297 metrics.go:34: INFO No non-zero metrics in the last 30s
2019/08/11 16:14:51.736150 metrics.go:34: INFO No non-zero metrics in the last 30s
2019/08/11 16:15:21.735939 metrics.go:34: INFO No non-zero metrics in the last 30s
进入一个pod里面
[root@master manifests]# kubectl exec -it myapp-ds-m7pss -- /bin/sh
/ #
手动创建server
[root@master manifests]# kubectl expose deploy redis --port=6379
查看创建的server
[root@master manifests]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 17d
myapp NodePort 10.103.191.244 <none> 80:31339/TCP 17d
nginx ClusterIP 10.108.177.175 <none> 80/TCP 17d
redis ClusterIP 10.104.114.16 <none> 6379/TCP 8m41s
Kubernetes的pod控制器之DaemonSet的更多相关文章
- 十六、资源控制器之DaemonSet
资源控制器之DaemonSet DaemonSet 确保全部(或者一些) Node上运行一个 Pod 的副本,当有 Node 加入集群时,也会为他们新增一个 Pod,当有 Node 从集群移除时,这些 ...
- kubernetes控制器之DaemonSet
转载于https://blog.csdn.net/bbwangj/article/details/82867472 什么是 DaemonSet? DaemonSet 确保全部(或者一些)Node 上运 ...
- Kubernetes---资源控制器之DaemonSet、Job和CronJob
⒈DaemonSet介绍,什么是DaemonSet DaemonSet 确保全部(或者一些)Node 上运行一个Pod的副本[注意主节点并不会参加调度].当有 Node 加入集群时,也会为他们新增一个 ...
- Kubernetes之Pod使用
一.什么是Podkubernetes中的一切都可以理解为是一种资源对象,pod,rc,service,都可以理解是 一种资源对象.pod的组成示意图如下,由一个叫”pause“的根容器,加上一个或多个 ...
- Kubernetes的pod控制器及ReplicaSet控制器类型的pod的定义
为什么需要Pod Kubernetes项目之所以这么做的原因: 因为Kubernetes是谷歌公司基于Borg项目做出来的,谷歌工程师发现,他们部署的应用往往存在这进程与进程组的关系.具体说呢,就是这 ...
- 06 . Kubernetes之Pod控制器详细介绍及应用
Pod API属性详解 Pod是k8s集群中的最小编排单位.将这个设计落实到API对象上,容器就成了Pod属性里一个普通的字段.那么到底哪些属性属于Pod对象,哪些属性属于容器的呢?先看下面的一段描述 ...
- Kubernetes K8S之资源控制器Daemonset详解
Kubernetes的资源控制器Daemonset详解与示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-master CentOS7.7 2C/ ...
- 浅入Kubernetes(10):控制节点的部署,选择器、亲和性、污点
目录 标签和nodeSelector 标签选择 亲和性和反亲和性 污点和容忍度 系统默认污点 容忍度 DaemonSet 在前面的学习中,我们学到了 Deployment 部署,以及副本数(Repli ...
- Kubernetes基石-pod容器
引用三个问题来叙述Kubernetes的pod容器 1.为什么不直接在一个Docker容器中运行所有的应用进程. 2.为什么pod这种容器中要同时运行多个Docker容器(可以只有一个) 3.为什么k ...
随机推荐
- mysql中间件proxysql实现mysql读写分离
目录 1. mysql实现读写分离的方式 2. ProxySQL简介 3. ProxySQL安装 4. ProxySQL的Admin管理接口 5. 和admin管理接口相关的变量 5.1 admin- ...
- CSS 盒子模型属性
盒子模型(Flexible Box) 属性 属性 说明 CSS box-align 指定如何对齐一个框的子元素 3 box-direction 指定在哪个方向,显示一个框的子元素 3 box-flex ...
- HTML学习(8)超链接
<a href="url">链接文本或图片</a> 可以使用id属性来访问标记的地方,例: <a id="tip">被访问的 ...
- 购物单 && 动态规划 && 背包问题
题目叙述的言语倒是蛮多的: 王强今天很开心,公司发给N元的年终奖.王强决定把年终奖用于购物,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子: 主件 附件 电脑 ...
- 传奇装备锻造升级UPGRADEITEMEX功能详解
装备升级功能可以指定升级物品及属性,按指定机率得到结果.需要升级的装备物品必须放在身上.命令格式UPGRADEITEMEX 物品位置(0-12) 属性位置(0-14) 成功机率(0-100) 点数机率 ...
- java基础(十)之向上转型/向下转型
向上转型:将子类的对象赋值给父类的引用. 向下转型:将父类的对象赋值给子类的引用. 向上转型 Student a = new Student(); Person zhang = a; 或者 Perso ...
- Bug搬运工-Forerunner CRC error on 54SG/53SG3 triggers watchdog timeout crash
这个bug,一般是设备4948 Crash的情况: 标志1:Error Message C4K_SUPERVISOR-2-SOFTERROR: memory inconsistency detecte ...
- [lua]紫猫lua教程-命令宝典-L1-01-04. 字符串数据
L1[字符串]01. 单引号与双引号 没什么说得 字符串:以双引号包含 或者单引号包含 或者[[]]包含 L1[字符串]02. 长文本内容 小知识:如果用[[]]包含字符串内容 但是字符串内容里面 包 ...
- centos 6.10 安装mysql 5.7.27 出现缺少libnuma.so.1的问题
centos 6.10安装mysql 5.7.27出现以下报错: [root@localhost /]# /usr/local/mysql/app/mysql/bin/mysqld --default ...
- 【C语言】创建一个函数,利用该函数将两个字符串连接起来
代码: #include<stdio.h> ], ]) { int i, j; ; c[i] != '\0'; i++); ; d[j] != '\0'; j++) { c[i++] = ...