景天科技苑
Python全栈技术专家,Golang全栈开发专家,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者。Golang开发,Python全栈开发,tkinter,PyQt5桌面应用开发,微信小程序开发,人工智能,爬虫等领域多年深耕,深谙js逆向,网络系统安全等领域。积累了大量linux,shell脚本实战,云原生K8S,Prometheus系列监控系统,数据库,数据分析,Django,fastapi,flask,Sanic等框架实操经验。独学而无友,则孤陋而寡闻。与良师益友一起交流学习,进步更快!
展开
-
【云原生】Kubernetes中如何通过Pod名称查询Docker容器ID,通过Docker容器ID查询Pod名称?
在Kubernetes(k8s)环境中,Pod是最小的可部署、可管理的计算单元,它可以包含一个或多个容器。了解如何通过Pod名称查询对应的Docker容器ID,以及如何通过Docker容器ID反向查询Pod名称,对于开发和运维人员来说是非常重要的。本文将结合实际案例,详细阐述这两个操作的步骤和方法。原创 2024-08-30 09:14:47 · 24647 阅读 · 7 评论 -
【python】Python中采集Prometheus数据,进行数据分析和可视化展示
Prometheus是一个开源的监控和警报工具,专门用于记录和查询时间序列数据。它提供了一个强大的查询语言PromQL(Prometheus Query Language),允许用户根据不同的标签和指标选择特定的时间序列数据。在Python中,我们可以通过Prometheus的HTTP API来采集这些数据,并进行进一步的处理和分析。本文将详细介绍如何在Python中采集Prometheus数据,并通过实际案例展示其用法。原创 2024-07-25 07:15:00 · 32139 阅读 · 126 评论 -
【云原生】Kubernetes中常见的Pod故障排查定位与解决方案
Pod在运行过程中可能会遇到各种故障,影响应用的稳定性和可用性。本文将结合实际案例,详细介绍Kubernetes中Pod故障排查与解决方案。原创 2024-08-27 09:11:57 · 27530 阅读 · 86 评论 -
【云原生】Kubernetes中的名称空间和资源配额详细用法与应用实战
在Kubernetes环境中,随着应用的增长和团队的增加,如何有效地管理和隔离资源变得尤为重要。Kubernetes通过名称空间(Namespace)和资源配额(ResourceQuota)提供了一套强大的工具来支持多租户和资源管理。本教程将结合实际案例,详细介绍如何在Kubernetes中使用名称空间和资源配额。原创 2024-08-19 13:28:00 · 21494 阅读 · 13 评论 -
【云原生】手把手教会你,如何搭建企业级的Harbo私有镜像仓库
Harbor是一个开源的容器镜像仓库项目,由VMware公司支持。它不仅提供了Docker官方Registry的所有功能,还增加了许多企业级特性,如安全性、身份认证、权限管理以及镜像复制等。本文将详细介绍如何通过Docker搭建Harbor仓库的步骤,并包括环境准备、安装、配置以及镜像的上传和下载等操作。原创 2024-08-15 07:15:00 · 25080 阅读 · 82 评论 -
【云原生】最初的容器编排神器--docker-compose的介绍、原理、用法及实战应用案例分析
Docker Compose 是 Docker 官方推出的一个用于定义和运行多个 Docker 容器的工具。它通过 YAML 文件(通常命名为 `docker-compose.yml`)来配置多个容器的应用,并允许用户通过简单的命令来启动、停止和重启这些容器。Docker Compose 的主要目标是简化多容器应用的部署和管理,让开发者可以轻松地定义和管理复杂的多容器应用。原创 2024-08-12 10:48:59 · 26242 阅读 · 6 评论 -
【云原生】Kubernetes中如何对etcd进行备份和还原,确保k8s集群的稳定和健壮
在Kubernetes(K8s)集群中,etcd扮演着关键角色,它作为集群的分布式键值存储,负责存储Kubernetes集群的所有配置信息和状态数据。由于etcd数据的重要性,定期备份etcd数据对于确保Kubernetes集群的安全性和数据恢复能力至关重要。本教程将结合实际案例,详细介绍如何在Kubernetes环境中备份etcd数据。原创 2024-08-07 07:15:00 · 33878 阅读 · 87 评论 -
【云原生】恰当运用kubernetes中三种探针,确保应用程序在Kubernetes集群中保持健康、可用和可靠
在Kubernetes(简称k8s)中,探针(Probes)是一种非常重要的健康检查机制,用于监测Pod内容器的运行状况。通过合理配置探针,可以确保应用程序在Kubernetes集群中保持健康、可用和可靠。本文将结合实际案例,详细介绍Kubernetes中的三种探针:存活探针(Liveness Probe)、就绪探针(Readiness Probe)和启动探针(Startup Probe)的用法。原创 2024-08-06 07:15:00 · 28336 阅读 · 78 评论 -
【云原生】Helm来管理Kubernetes集群的详细使用方法与综合应用实战
随着容器化和微服务架构的普及,Kubernetes(简称K8s)已成为云原生应用部署和管理的首选平台。然而,对于复杂的Kubernetes应用,直接通过kubectl管理大量的YAML配置文件变得非常繁琐和容易出错。Helm,作为Kubernetes的包管理工具,通过引入Chart概念,极大地简化了Kubernetes应用的部署、升级、回滚和删除过程。本教程将结合实际案例,详细介绍如何通过Helm来管理Kubernetes集群。原创 2024-08-02 07:15:00 · 29902 阅读 · 105 评论 -
【云原生】Kubernetes中关于污点、亲和性和容忍度的详细用法教程与应用实战
在Kubernetes中,污点(Taints)、亲和性(Affinity)和容忍度(Tolerations)是三个强大的工具,它们允许集群管理员精细控制Pod在节点上的调度。这些机制共同工作,确保Pod被调度到最适合它们的节点上,从而提高集群的效率和稳定性。本文将结合具体案例,详细介绍污点、亲和性和容忍度的用法。原创 2024-08-01 07:15:00 · 29608 阅读 · 92 评论 -
【云原生】Kubernetes中的定时任务cronjob的详细用法与企业级应用案例分享
在现代的云原生应用中,定时任务是一个非常重要的组成部分。Kubernetes(简称k8s)提供了一种称为CronJob的机制,可以让我们方便地定义和管理定时任务。CronJob基于Cron表达式,允许在指定的时间间隔内自动运行容器化的任务,如定时备份、数据清理、定期报告等。本文将结合实际案例,详细介绍Kubernetes中CronJob的详细用法。原创 2024-07-31 07:15:00 · 30723 阅读 · 87 评论 -
【云原生】kubernetes弃用docker之后,containerd何以承载云原生?
Containerd 是一个高性能、高度可扩展的容器运行时,由 Docker 团队开发并开源,现已成为 Cloud Native Computing Foundation (CNCF) 的顶级项目之一。Containerd 专注于容器的生命周期管理和资源隔离,支持 OCI (Open Container Initiative) 标准,提供了一套丰富的 API 用于容器的创建、启动、停止和销毁等操作。本文将结合实际案例,详细介绍 containerd 的安装、配置、常用命令及高级功能。原创 2024-07-30 07:15:00 · 23644 阅读 · 87 评论 -
【云原生】Kubernetes中crictl的详细用法教程与应用实战
Kubernetes(简称k8s)作为云原生技术的核心之一,通过其强大的容器编排能力,极大地简化了分布式应用的部署、扩展和管理。在Kubernetes中,容器的运行和管理离不开底层的容器运行时(Container Runtime),如Docker、containerd、CRI-O等。而`crictl`作为一个命令行工具,专门用于与这些容器运行时接口(CRI)兼容的容器运行时进行交互,为Kubernetes的调试和管理提供了极大的便利。原创 2024-07-29 07:15:00 · 28332 阅读 · 134 评论 -
【云原生】Kubernetes 中的 PV 和 PVC 介绍、原理、用法及实战案例分析
在 Kubernetes(k8s)中,管理存储资源是确保应用持久性和可靠性的关键部分。PersistentVolume(PV)和PersistentVolumeClaim(PVC)是 Kubernetes 中用于存储资源管理的两个核心概念。它们提供了一种机制,允许 Pod 访问独立于其生命周期的存储资源,从而实现了数据的持久化。原创 2024-07-24 07:15:00 · 22146 阅读 · 92 评论 -
【云原生】Kubernetes中的DaemonSet介绍、原理、用法及实战应用案例分析
Kubernetes(简称K8s)作为容器编排的领导者,提供了多种工作负载控制器来管理集群中的Pod。其中,DaemonSet是一种特殊的控制器,它确保在集群的每个节点(或指定的节点)上运行一个Pod的副本。这种特性使得DaemonSet非常适合部署集群级别的守护进程或服务,如日志收集器、监控代理等。本文将详细介绍DaemonSet的介绍、原理、用法以及实战应用案例分析。原创 2024-07-22 08:49:05 · 22656 阅读 · 97 评论 -
【云原生】Kubernetes中的有状态服务StatefulSet:深入解析、用法与实战案例
在Kubernetes(k8s)的广阔生态系统中,StatefulSet作为一种专为有状态应用设计的资源对象,扮演着举足轻重的角色。随着云原生技术的兴起,越来越多的应用需要跨多个节点持久化存储数据和保持应用状态,而StatefulSet正是解决这一需求的利器。本文将深入探讨StatefulSet的概念、原理、详细用法,并通过一个实战案例分析其在Kubernetes中的应用。原创 2024-07-19 07:15:00 · 947 阅读 · 0 评论 -
【云原生】Kubernetes微服务Istio:介绍、原理、应用及实战案例
随着云原生技术的日益成熟,微服务架构已成为大型企业构建复杂应用的首选方案。然而,微服务架构的复杂性也带来了诸如服务治理、流量管理、安全认证等挑战。Istio作为一个开源的服务网格(Service Mesh)平台,为Kubernetes中的微服务提供了一套全面的治理解决方案。本文将详细介绍Istio的基本概念、工作原理、应用场景,并通过一个实战案例展示其在实际项目中的应用。原创 2024-07-18 07:15:00 · 24589 阅读 · 110 评论 -
【云原生】kubernetes最新版本1.30.2,集群搭建部署全方位攻略
目前k8s最新版本1.30.2集群搭建部署,保姆级教程,一文搞定搭建过程中的所有疑难杂症原创 2024-06-24 07:15:00 · 27501 阅读 · 119 评论 -
【云原生】kubernetes中secret原理详解与应用实战
对于一些敏感数据,如密码、私钥等数据时,要用secret类型。Secret解决了密码、token、秘钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者Pod Spec中。Secret可以以Volume或者环境变量的方式使用。要使用 secret,pod 需要引用 secret。Pod 可以用两种方式使用 secret:作为 volume 中的文件被挂载到 pod 中的一个或者多个容器里,或者当 kubelet 为 pod 拉取镜像时使用。原创 2024-06-04 07:15:00 · 20403 阅读 · 115 评论 -
【云原生】kubernetes中pod的生命周期、探测钩子的实战应用案例解析
Pod 里面可以有一个或者多个容器,部署应用的容器可以称为主容器,在创建Pod时候,Pod 中可以有一个或多个先于主容器启动的Init容器,这个init容器就可以成为初始化容器,初始化容器一旦执行完,它从启动开始到初始化代码执行完就退出了,它不会一直存在,所以在主容器启动之前执行初始化,初始化容器可以有多个,多个初始化容器是要串行执行的,先执行初始化容器1,在执行初始化容器2等,等初始化容器执行完初始化就退出了,然后再执行主容器,主容器一退出,pod就结束了,主容器退出的时间点就是pod的结束点,原创 2024-05-30 09:23:38 · 21049 阅读 · 123 评论 -
【云原生】kubernetes中Configmap原理解析与应用实战
Configmap是k8s中的资源对象,用于保存非机密性的配置的,数据可以用key/value键值对的形式保存,也可通过文件的形式保存。原创 2024-05-29 09:25:06 · 19387 阅读 · 103 评论 -
【云原生】kubernetes中的认证、权限设置--RBAC授权原理分析与应用实战
k8s对我们整个系统的认证,授权,访问控制做了精密的设置;对于k8s集群来说,apiserver是整个集群访问控制的唯一入口,我们在k8s集群之上部署应用程序的时候,也可以通过宿主机的NodePort暴露的端口访问里面的程序,用户访问kubernetes集群需要经历如下认证过程:认证->授权->准入控制(adminationcontroller)原创 2024-05-27 10:18:13 · 18267 阅读 · 120 评论 -
【云原生】kubernetes中的service原理、应用实战案例解析
在kubernetes中,Pod是有生命周期的,如果Pod重启它的IP很有可能会发生变化。如果我们的服务都是将Pod的IP地址写死,Pod挂掉或者重启,和刚才重启的pod相关联的其他服务将会找不到它所关联的Pod,为了解决这个问题,在kubernetes中定义了service资源对象,Service 定义了一个服务访问的入口,客户端通过这个入口即可访问服务背后的应用集群实例,service是一组Pod的逻辑集合,这一组Pod能够被Service访问到,通常是通过Label Selector实现的。原创 2024-05-24 07:15:00 · 19556 阅读 · 105 评论 -
K8S常见的持久化(存储)方案用法详解
在k8s中为什么要做持久化存储? 在k8s中部署的应用都是以pod容器的形式运行的,假如我们部署MySQL、Redis等数据库, 需要对这些数据库产生的数据做备份。因为Pod是有生命周期的,如果pod不挂载数据卷, 那pod被删除或重启后这些数据会随之消失,如果想要长久的保留这些数据就要用到pod数据持久化存储。原创 2024-02-28 13:45:31 · 2251 阅读 · 13 评论 -
K8S二进制部署详解,一文教会你部署高可用K8S集群
虽然kubeadm方式搭建K8S比较简单,但是对里面的原理都不清楚的话,生产中使用功能可能不便于排查故障。二进制方式部署的k8s集群比较稳定。二进制方式搭建:在官网下载相关组件的二进制包,如果手动安装,对kubernetes理解也会更全面。 Kubeadm和二进制都适合生产环境,在生产环境运行都很稳定,具体如何选择,可以根据实际项目进行评估。原创 2024-02-07 10:34:35 · 4841 阅读 · 11 评论 -
K8S中Deployment控制器的概念、原理解读以及使用技巧
Deployment是kubernetes中最常用的资源对象,为ReplicaSet和Pod的创建提供了一种声明式的定义方法,在Deployment对象中描述一个期望的状态,Deployment控制器就会按照一定的控制速率把实际状态改成期望状态,通过定义一个Deployment控制器会创建一个新的ReplicaSet控制器,通过ReplicaSet创建pod,删除Deployment控制器,也会删除Deployment控制器下对应的ReplicaSet控制器和pod资源.原创 2024-01-21 09:30:00 · 2081 阅读 · 0 评论 -
【云原生】kubeadm搭建企业级K8S高可用集群保姆级攻略
我们都知道,k8s中有三位大哥:kubelet, kubeadm, kubectl其中:kubelet是服务,用来调用下层的container管理器,从而对底层容器进行管理。kubectl是API,供我们调用,键入命令对k8s资源进行管理。kubeadm是管理器,我们可以使用它进行k8s节点的管理。今天,我们就基于kubeadm来详细讲讲怎么部署高可用K8S集群原创 2024-01-04 14:16:37 · 1725 阅读 · 0 评论 -
kubernetes最小调度单元pod原理介绍,应用创建与实战案例
Pod是Kubernetes中的最小调度单元,k8s是通过定义一个Pod的资源,然后在Pod里面运行容器,容器需要指定一个镜像,这样就可以用来运行具体的服务。一个Pod封装一个容器(也可以封装多个容器),Pod里的容器共享存储、网络等。也就是说,应该把整个pod看作虚拟机,然后每个容器相当于运行在虚拟机的进程。Pod是需要调度到k8s集群的工作节点来运行的,具体调度到哪个节点,是根据scheduler调度器实现的。白话解释:可以把pod看成是一个“豌豆荚”,里面有很多“豆子”(容器)。原创 2024-01-03 10:36:04 · 1158 阅读 · 0 评论 -
制作docker镜像的dockerfile编写规则汇总
镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,用这个脚本来构建、定制镜像,那么无法重复的问题、镜像构建透明性的问题、体积的问题就都会解决。这个脚本就Dockerfile原创 2024-01-02 15:12:56 · 1248 阅读 · 0 评论 -
手把手教你玩转docker
docker在生产中的一些常规操作,一文足矣原创 2024-01-02 14:41:05 · 1053 阅读 · 0 评论 -
K8S必备知识--docker的介绍以及安装
开源的 Docker Registry 镜像只提供了 Docker Registry API 的服务端实现,足以支持 Docker 命令,镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,并且提供了快速部署的方式。最常使用的 Registry 公开服务是官方的 Docker Hub ,这也是默认的 Registry,Docker改变了运维,环境的一致性让运维变得更加简单,同时热更新的支持让运维不再需要半夜加班部署更新,原创 2024-01-02 11:33:24 · 1308 阅读 · 3 评论