k8s初级实战04--DaemonSet Static Pod

2024-05-31 00:08

本文主要是介绍k8s初级实战04--DaemonSet Static Pod,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

k8s初级实战04--DaemonSet & Static Pod

  • 1 基础概念
  • 2 常见用法
    • 2.1 DaemonSet
    • 2.2 Static Pod
  • 3 注意事项
  • 4 说明

1 基础概念

  1. DaemonSet
    DaemonSet 保证在每个 Node 上都运行一个容器副本,常用来部署一些集群的日志、监控或者其他系统管理应用。典型的应用包括:
    日志收集,比如 fluentd,logstash 等;
    系统监控,比如 Prometheus Node Exporter,collectd,New Relic agent,Ganglia gmond 等;
    系统程序,比如 kube-proxy, kube-dns, glusterd, ceph 等。

  2. Static Pod
    Static Pod 可以让每台机器上运行指定的 Pod,这需要 kubelet 在启动的时候指定 manifest 目录,然后将所需要的 Pod 定义文件放到指定的 manifest 目录中。

2 常见用法

2.1 DaemonSet

  1. 创建 ds

    vim dpl-my-web-ds.yaml 
    apiVersion: apps/v1
    kind: DaemonSet
    metadata:labels:app: my-web-dsname: my-web-ds
    spec:selector:matchLabels:app: my-web-dstemplate:metadata:labels:app: my-web-dsspec:containers:- image: nginx:1.19.4name: nginx-ds
    $ kubectl apply -f dpl-my-web-ds.yaml 
    daemonset.apps/my-web-ds created创建 fluentd-elasticsearch DaemonSet
    $ kubectl apply -f https://k8s.io/examples/controllers/daemonset.yaml
    部署完整的efk 可以参考链接 cluster/addons/fluentd-elasticsearch
    

    cluster/addons/fluentd-elasticsearch

  2. 查看 ds

    $ kubectl get ds 或 kubectl get daemonset
    NAME        DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
    my-web-ds   2         2         2       2            2           <none>          83s
    
  3. 删除 ds

    $ kubectl delete daemonsets my-web-ds 
    daemonset.apps "my-web-ds" deleted
    或者
    $ kubectl delete -f dpl-my-web-ds.yaml
    

2.2 Static Pod

  1. 创建static pod
    vim  pod-my-web-sp.yaml 
    apiVersion: v1
    kind: Pod
    metadata:labels:run: my-web-spname: my-web-sp
    spec:containers:- image: nginx:1.19.4name: my-web-spports:- containerPort: 80
    拷贝该pod到  /etc/kubernetes/manifests/ 目录,过一会儿指定节点会自动拉起该pod
    cp pod-my-web-sp.yaml /etc/kubernetes/manifests/
    
    如下图,该pod的控制器为Node,而普通的pod控制器为ReplicaSet。
    在这里插入图片描述
  2. 查看static pod
    和查看正常pod一样查看static pod即可
    $ kubectl get pod|grep sp
    my-web-sp-kmaster   1/1     Running   1          4s
    pod 名称为 yaml中pod名称-节点名称
    
  3. 删除static pod
    $ kubectl delete pod my-web-sp-kmaster  
    提示 pod NotFound,因此无法对该pod执行任何操作;
    rm /etc/kubernetes/manifests/pod-my-web-sp.yaml 后,该pod过一会自动删除;
    

3 注意事项

  1. 静态 Pod 不能通过 API Server 来删除,但可以通过删除 manifest 文件来自动删除对应的 Pod。

4 说明

Concepts->Workloads->Workload Resources->DaemonSet
Kubernetes 指南-DaemonSet

这篇关于k8s初级实战04--DaemonSet Static Pod的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1017117

相关文章

解读静态资源访问static-locations和static-path-pattern

《解读静态资源访问static-locations和static-path-pattern》本文主要介绍了SpringBoot中静态资源的配置和访问方式,包括静态资源的默认前缀、默认地址、目录结构、访... 目录静态资源访问static-locations和static-path-pattern静态资源配置

C语言小项目实战之通讯录功能

《C语言小项目实战之通讯录功能》:本文主要介绍如何设计和实现一个简单的通讯录管理系统,包括联系人信息的存储、增加、删除、查找、修改和排序等功能,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录功能介绍:添加联系人模块显示联系人模块删除联系人模块查找联系人模块修改联系人模块排序联系人模块源代码如下

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

k8s部署MongDB全过程

《k8s部署MongDB全过程》文章介绍了如何在Kubernetes集群中部署MongoDB,包括环境准备、创建Secret、创建服务和Deployment,并通过Robo3T工具测试连接... 目录一、环境准备1.1 环境说明1.2 创建 namespace1.3 创建mongdb账号/密码二、创建Sec

Python中的随机森林算法与实战

《Python中的随机森林算法与实战》本文详细介绍了随机森林算法,包括其原理、实现步骤、分类和回归案例,并讨论了其优点和缺点,通过面向对象编程实现了一个简单的随机森林模型,并应用于鸢尾花分类和波士顿房... 目录1、随机森林算法概述2、随机森林的原理3、实现步骤4、分类案例:使用随机森林预测鸢尾花品种4.1

centos7基于keepalived+nginx部署k8s1.26.0高可用集群

《centos7基于keepalived+nginx部署k8s1.26.0高可用集群》Kubernetes是一个开源的容器编排平台,用于自动化地部署、扩展和管理容器化应用程序,在生产环境中,为了确保集... 目录一、初始化(所有节点都执行)二、安装containerd(所有节点都执行)三、安装docker-

Golang使用minio替代文件系统的实战教程

《Golang使用minio替代文件系统的实战教程》本文讨论项目开发中直接文件系统的限制或不足,接着介绍Minio对象存储的优势,同时给出Golang的实际示例代码,包括初始化客户端、读取minio对... 目录文件系统 vs Minio文件系统不足:对象存储:miniogolang连接Minio配置Min

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置