分类: 云原生

云原生(Cloud Native)是一个组合词,由“云”和“原生”两个词组成。它代表了一种构建和运行应用程序的方法,旨在充分利用云平台的弹性和分布式优势。简单地说,云原生应用程序是为了在云环境中运行而设计的,它们在设计和构建时就考虑到了云环境的特点,从而能够更好地适应云环境。

云原生的四大要点包括微服务、DevOps、持续交付和容器化。微服务是一种软件架构,将大型应用程序拆分成多个小型、独立的服务,每个服务都负责特定的功能或业务领域。DevOps则是开发和运维的结合,旨在实现更高效、更可靠的软件交付。持续交付则是指在不影响用户使用服务的前提下,频繁地将新功能发布给用户使用。容器化则是通过容器技术为应用程序提供隔离的运行环境,确保应用程序的稳定性和安全性。

云原生技术的产生背景是企业上云已成为趋势,但大部分云化的应用都是基于传统的软件架构搭建的,与云平台的整合度较低。传统的应用程序和底层操作系统、硬件、存储和后备服务之间存在紧密的依赖关系,导致应用程序在跨越云基础设施进行迁移和扩展时非常复杂且有风险。此外,传统企业应用多采用单体架构,导致功能模块之间产生不必要的依赖,丧失敏捷性,无法独立部署、发布更新和重启。

为了解决这些问题,云原生技术应运而生。它基于分布部署和统一运管的分布式云,以容器、微服务、DevOps等技术为基础建立的一套云原技术产品体系。通过采用云原生技术,企业可以更好地利用云计算的优势,实现快速部署、动态扩展和高可靠性等目标。同时,云原生技术也使得企业能够更好地应对市场需求快速变化、业务流量高峰和突发等问题。

111 篇文章

thumbnail
编程之道:软件开发工具的选择与使用!
  随着人工智能、大数据、云计算等领域的快速发展,软件开发工具的选择和使用已经成为软件开发人员和团队的重要话题。在这篇文章中,我们将深入探讨软件开发工具的选择与使用,并提供详细的解释和代码实例。   1.1 软件开发工具的选择与使用的重要性 软件开发工具的选择与使用对于软件开发人员和团队来说至关重要。合适的开发工具可以提高开发效…
nsenter命令解决容器内部命令不足排查网络的问题
在docker或者container中,为了尽可能缩减镜像大小,常常不会包含一些常用的工具,类似ping,curl,tcpdump等,虽然精简了镜像,但如果我们需要在容器内部测试网络联通性时,没有这些工具就非常的头疼。其实容器内部和主机之间的网络环境是互相隔离的,处于独立的命名空间下,那如果能在主机上切换命名空间,就可以在主机上以容器的网络环境进行…
thumbnail
VMware vCenter STS证书过期的解决思路
vCenter内包含多种证书,一类是STS证书,一类是其他证书。证书在安装部署时,一般是默认10年有限期,但vCenter6.5以后部分版本存在证书只有2年有效期的问题。证书过期会导致登录webclient时,出现“获取身份认证程序时出错”(https://ip/ui),“nohealthyupstream”(https://ip)的提示,导致无法…
golang从redis中分页获取列表数据
package main import ( "fmt" "github.com/go-redis/redis" "strconv" ) func main() { //redis地址,密码,数据库 redisc, err := RedisInit("192.168.2.80:6379","123456",12) if err != nil { fm…
IDEA2024激活工具及最新激活码(亲测有效)
激活工具及激活码(激活工具和激活码必须配套使用) Win版本永久激活插件:链接:https://pan.quark.cn/s/9e9baae423fc 提取码:Szxb Mac版本永久激活插件:链接:https://pan.quark.cn/s/ddab0973e31c 提取码:KBJk IDEA激活码(定期更新,持续保证可用,若使用期间出现无效可…
VMware vSphere ESXi7.0、8.0密钥
VMware vSphere ESXi提供了多种类型的许可证,以满足不同用户的需求。这些许可证类型包括但不限于: Enterprise Plus:提供了最全面的功能集,适合需要高级功能的企业用户。 Standard:提供了基本的功能集,适合中小企业或不需要所有高级功能的用户。 以下是常见使用密钥,仅供学习实验使用。切勿用于商业用途,如需用于商业用途…
虚拟化KVM常用命令汇总
KVM(Kernel-based Virtual Machine)是一种开源的硬件虚拟化解决方案,它是 Linux 内核的一部分,允许在支持虚拟化技术的硬件(如 Intel VT-x 或 AMD-V)上运行虚拟机。 KVM 将 Linux 内核转变为一个裸机虚拟机监控器(Hypervisor),使用户可以运行多个隔离的虚拟机,并且每个虚拟…
thumbnail
Esxi虚拟机启用了嵌套硬件辅助的虚拟化时,无法添加 PCI 直通设备。
问题现状: 虚拟机: win10 状况 失败 - 启用了嵌套硬件辅助的虚拟化时,无法添加 PCI 直通设备。 错误 启用了嵌套硬件辅助的虚拟化时,无法添加 PCI 直通设备。 通常情况是因为添加了pci直通显卡,CPU又启用了硬件辅助虚拟化,关闭即可解决。
thumbnail
ESXI 直通显卡,Centos7 安装 NVIDIA 驱动
操作环境: 设备型号:DELL T5820 工作站 底层环境:ESXI 7.0 U3 for Dell Custom 操作系统:Centos 7.9 显卡型号:Quadro P2000 6G 操作步骤: 1、ESXI硬件管理中,勾选需要直通的显卡,并切换为直通模式。 2、关闭虚拟机,在编辑设置中添加PIC设备,选择已直通的显卡信息。 3、 …
thumbnail
Kubernetes重要概念:Service详解
1 Service相关概念  1.1 什么是Service? 在 Kubernetes 中,Service 是一种抽象的资源,它提供了稳定的访问接口,将外部或集群内部的流量路由到对应的 Pod 上。Pod 是 Kubernetes 中的基本调度单元,但它们是临时的,IP 地址和生命周期都可能发生变化。Service 为 Pod 提供一个稳…
thumbnail
Prometheus + Alertmanager +Prometheus-WebHook实现 钉钉监控告警
背景 目前的告警通知采用grafana来通知dingding群,这只是grafana的一个功能,所以在灵活性上还是有很多缺陷的,不如专门做告警通知的alertmanager方便 grafana告警 优点: 可以发送趋势图,并且配置上来讲比较方便,直接在监控图里配置即可,比较简单 缺点: 不能创建一个告警模板应用到一批实例上,意味着我们要每个实例都去…
thumbnail
Grafana二进制包安装部署教程
Grafana 是开源的可视化和数据监控分析工具软件。支持查询、呈现、告警和浏览指标。无视数据存储位置与数据库类型,只要 Grafana 能够访问到数据则可支持呈现。可通过简单的配置,将时间序列数据库数据转换为图形和可视化效果。本文中示例数据以 Elasticsearch 数据库为主,其他类型数据设置方式类似。 安装和配置 工具安装登陆Grafan…
Docker 最佳实战:Ubuntu 22.04 LTS 在线安装 Docker
本文将详细介绍如何在操作系统 Ubuntu 22.04.3 LTS 中,在线安装 Docker。 实战服务器配置 (架构 1:1 复刻小规模生产环境,配置略有不同) 主机名IPCPU(核)内存(GB)系统盘(GB)数据盘(GB)用途docker-node-1192.168.9.8141640100Docker 节点 1合计141640100 实战环…
thumbnail
Prometheus Alertmanager告警数据持久化及可视化看板
    Prometheus Alertmanager 作为 Prometheus 生态系统中的核心告警管理组件,主要专注于实时告警的接收、去重、分组和路由。然而,由于其设计上并未对告警数据进行持久化存储,这虽然简化了系统的复杂性,但也带来了一些局限性。     此外,Alert…
超实用!k8s网络抓包技巧,事半功倍
    在k8s中,每个Pod都拥有独立的网络命名空间,这意味着它们有自己的网络接口、IP 地址和路由表。容器之间通过共享同一个网络命名空间进行通信,这种隔离使得网络问题的排查变得更加复杂,但同时也提供了灵活性和安全性。     既然Pod拥有独立的命名空间,那我们不妨借助工具进入其命名空间进行网络抓包,这样…
nextcloud性能优化教程
1、PHP 的安装似乎不正确,无法访问系统环境变量。getenv("PATH") 函数测试返回了一个空值。 请参照安装说明文档 ↗中的 PHP 配置说明查阅您服务器的PHP配置信息,特别是在使用 php-fpm 时。需要找到找到这个路径/www/server/php/72/etc/php-fpm.conf 把如下代码添加到尾部 env[HO…
thumbnail
不应该选择 DevOps 方面工作的原因
在本文中,我将探讨为什么有些人不应该选择 DevOps 作为职业。 以下是您可能会后悔选择 DevOps 作为职业的一些原因。 缺乏标准化 DevOps 没有行业标准。许多公司对 DevOps 工程师应该做什么的概念并不清晰。 这意味着,作为 DevOps 工程师,您的职责在不同公司之间会有所不同。例如,James 在 404 Found Inc.…
可以诊断k8s的chatgpt神器:k8sgpt-operator
在 Kubernetes 上,从部署 Deployment 到正常提供服务,整个流程可能会出现各种各样问题,有兴趣的可以浏览 Kubernetes Deployment 的故障排查可视化指南(2021 中文版)[1]。从可视化指南也可能看出这些问题实际上都是有迹可循,根据错误信息基本很容易找到解决方法。随着 ChatGPT 的流行,基于 …
nerdctl:一个酷似docker又胜于docker的命令行工具
1 nerdctl 简介 nerdctl 是一个命令行工具,旨在为用户提供与 Docker 相似的体验,但它是通过 containerd 来管理容器的。containerd 是一个高性能的容器运行时,用于管理容器的生命周期,包括镜像拉取、容器的创建、运行、停止等。nerdctl 的出现是为了简化和容器管理工具之间的差距,尤其是在不使用 Docker…
thumbnail
引发Openai全球性宕机,原因竟是Kubernetes?
2024年12月11日,OpenAI出现了全球性的严重宕机事件,这次事件导致OpenAI的所有服务包括ChatGPT、API和 Sora等都受到了严重影响,甚至出现无法访问的情况。关于此次事件的起因,目前官方已经出了故障报告,详见:https://status.openai.com/incidents/ctrsv3lwd797。在本文中,我将带大家…
thumbnail
利用Shell脚本对docker容器服务进行健康检查监控钉钉告警并重启
经常线上生产环境docker容器出现假死、或者容器异常退出,运维都是后知后觉,由运营部门反馈才知晓,于是研发领导提出对服务进行监控告警。这就有了下面对docker容器进行监控告警并进行容器重启的脚本。下面是具体配置步骤和脚本代码: 添加脚本文件cat /root/monitor.sh #!/bin/bash #docker容器名字 export s…
thumbnail
k8s的负载均衡方案:MetalLB
对于自建的Kubernetes集群,默认情况下是不支持负载均衡的。当需要提供服务的外部访问时,可选用的方案不外乎 Ingress、NodePort等方式。但这些方案本身并不算非常完美,他们或多或少都存在着一些不足之外 ,如Ingress不支持TCP协议,而NodePort则是使用随机端口。对此,开源的MetalLB 方案旨在提供基于网络设备的负载均…
thumbnail
搭建VMware Horizon8私有云桌面虚拟化(五)Horizon连接vCenter Server
1、登入 Horizon 控制台 2、添加 vCenter Server 服务器 3、添加即时克隆域管理员(添加这个账户可以使后面批量生成的计算机自动加域) 即时克隆需要有一个能够加域的域账户,是因为克隆后的计算机需要加入到域控中,配合域账户实现登录以及策略管控
thumbnail
解决AD域用户安装软件权限问题
当域用户登录系统并尝试安装软件时,系统会提示输入管理员密码。为了去除这一限制,你可以将相关的域用户或域用户组添加到本地的管理员组(Administrators)或高级用户组(Power Users)中。以下是具体操作方法: 使用本地管理员帐号登录系统: 首先,确保你使用的是一个具有本地管理员权限的帐号登录到目标系统。 打开命令提示符(cmd): 在…
消除 Kubernetes 中的未利用资源
Kubernetes 中的未利用资源不仅仅是预算项目——它们是效率、可扩展性和性能的隐形杀手。 浪费的 CPU 周期、空闲内存和未充分利用的节点都会累积,增加成本的同时使集群处理实际工作负载的能力下降。如果你在大规模使用 Kubernetes,你会知道这些低效问题如何演变成实际的操作难题。 如今,随着Scaleops 等智能自动化工具的兴起,你可以…
thumbnail
K8s + SpringBoot实现零宕机发布
这不,最近公司也在忙着把微服务的架构迁移到 Kubernetes 上,而我作为程序员当然要为大家分享一些经验了。 别看 Kubernetes 是个非常庞大的东西,但有了这些技巧,我们可以让应用在生产环境中实现真正的零宕机发布!下面就一起来看看这背后的配置和技术细节吧! 1. 健康检查,确保应用在 Kubernetes 上能持续健康 首先,咱们得聊聊…
thumbnail
k8s集群经历断电后无法启动的故障处理分享
故障应急总让人充满心跳,有时交换机故障、有时光缆被挖断,这次却是机房意外断电。。。 前阵子有个兄弟求助,他们的机房遭遇了意外断电。恢复供电后,k8s集群却无法启动。经过一番“截图分析诊断法”的默契配合,最终成功解决了故障。今天通过这篇文章,和大家分享一下这个过程。    故障发生后,很多指令无法正常回显,容器的元数据也无法正常加…
提升安全性:掌握7种高效自动化Docker镜像漏洞扫描技巧
容器镜像中的漏洞如果不加以防范,可能会使您的应用程序、数据和基础设施面临严重的安全威胁。为了有效应对这些风险,自动化Docker镜像扫描变得至关重要。这种扫描方法不仅能在早期阶段检测出潜在的安全问题,还能显著提高部署的可靠性,并帮助您维持一个强大的安全态势。 在本文中,我们将深入探讨七种高效的自动化Docker镜像漏洞扫描方法。这些方法旨在为您提供…
thumbnail
生产环境中绝不应运行的危险 Linux 命令(严肃地说,不要这样做)
嘿!如果您在生产环境中管理 Linux 系统,您知道只需一个错误的命令,事情就可以从“一切都很棒!”变成“为什么一切都着火了?!”我经历过——一次意外的按键,然后就乱套了。 所以,让我们聊聊一些在生产环境中绝不应运行的 Linux 命令,除非您喜欢在周五晚上恢复备份并向老板解释为什么网站宕机了。剧透警告:您不会想要的。 准备好了吗?让我们深入探讨—…
thumbnail
docker-mirror:神奇指令,一键把镜像拉回“家”
你还在为拉取不到镜像发愁吗?docker-mirror一款超便捷的工具,国内网络也能用,一条指令就把镜像拉回“家” 在dockerHub无法访问后,无疑给运维工作带来了不少麻烦,期间有人问我,我们是怎么应对的?很庆幸的是,我们在问题发生之前,就已经把核心服务的容器镜像转存到本地的Harbor仓库中,在问题发生后只需要更新边缘服务的镜像即可。&nbs…
Kubernetes集群 for openEuler 22.03 LTS 二进制手动部署
Kubernetes集群 for openEuler 22.03 LTS 二进制手动部署 本文档介绍在 openEuler 操作系统上,通过二进制部署 K8S 集群的一个参考方法。 说明:本文所有操作均使用root权限执行。 一、集群状态 本文所使用的集群状态如下: 集群结构:6 台openEuler 22.03 LTS系统的虚拟机,3 个 mas…
Kubernetes中Minikube与Kubeadm的关键区别是什么?
Kubernetes中Minikube与Kubeadm的关键区别是什么? ❝ 选择正确的Kubernetes工具:理解Minikube和Kubeadm用于开发和生产环境 Kubernetes,作为自动化部署、扩展和管理容器化应用程序的领先开源平台,拥有多种工具来简化集群的设置和管理。 在这些工具中,Minikube和Kubeadm作为两个受欢迎的选…
解决 Kubernetes 命名空间卡在Terminating终止状态的问题
几个月前,我在卸载 Ceph 集群(使用 Rook 挂载)时遇到了删除命名空间的问题。 基础 我认为我已经正确删除了集群中的 Ceph 对象,最后简单地删除了命名空间: kubectl --context=sandbox delete ns rook-ceph 然而,当我尝试验证它是否确实被删除时: kubectl --context=sandbo…
thumbnail
记一次机房搬迁后网络改造引起的K8S内部容器无法访问外部网络
最近公司规模扩大,原办公室已经无法容纳更多的员工,公司高层决定搬迁办公室,同时也需要搬迁,并且在现有的电信桥接动态公网IP出口的基础上需要再增加一条移动专线,现在有2台交换机,也无法支持新的办公,需要再采购一个交换机。现在办公和服务器在一个网段192.168.2.0/24。我在了解业务后,对新办公室进行了如下改造: 1、首先网段肯定不够支撑新办公区…
Dockerfile常用命令整理
1. 基础镜像与环境配置 FROM 指定镜像的基础镜像,是每个 Dockerfile 必须的第一条指令。 支持从本地镜像库或 Docker Hub 拉取镜像。 允许多阶段构建(multi-stage builds),通过多次使用 FROM,逐步构建出优化的镜像。 MAINTAINER(已废弃,推荐使用&nbs…
thumbnail
Containerd 客户端命令行工具入门教程
1. 工具介绍 当我们的容器进行时从 Docker 切换为 Containerd 后,需要从 docker 命令行切换到 Containerd 的命令行。常见的 Containerd 客户端命令行有 ctr 和 crictl。 1.1 ctr ctr 是 containerd 官方的命令行工具,功能相对简单,可以实现拉取镜像 创建容器等功能; 需要…
thumbnail
一款功能强大的Kubernetes网络诊断工具
本文将介绍一款功能强大的Kubernetes网络诊断工具,名称为Kubeskoop。 一. 产品介绍 Kubeskoop 是一款专为Kubernetes设计的网络诊断和监控工具。Kubeskoop 提供了对集群中网络、服务、节点等多维度的可观测性,以帮助运维人员更快速地诊断和定位问题。产品具有以下特性: 1. 一键诊断网络链路 Kubes…
六个最危险的Linux命令,rm -rf /* 只能排第三
Linux 是一个功能强大且灵活的操作系统,广泛应用于服务器、开发环境和嵌入式系统中。尽管其强大功能带来了无限的可能性,但也意味着一旦使用不当,可能会带来严重后果。本文将详细介绍六个最危险的 Linux 命令,以及如何正确使用它们以避免灾难。 第六名:kill -9 1 解释 kill 命令用于发送信号给进程,-9 表示强制终止…
运维真的又low工资又低吗?
相比于开发人员而言,运维工程师在企业中的存在感往往不高。经常是不出问题的时候没人注意,而出了问题又可能是背锅的那个人。因此,运维人经常戏称自己是“背锅侠”,并非没有道理。 一.  运维的技术含量并不低 那么,运维岗位真的是又Low工资又低吗?其实不然,一个优秀的运维工程师往往需要掌握广泛且深入的技术知识,包括但不限…
thumbnail
手把手教程:使用 Fluentbit 采集夜莺日志写入 ElasticSearch
Fluentbit 是非常流行的日志采集器,作为 Fluentd 的子项目,是 CNCF 主推的项目,本文以夜莺的日志举例,使用 Fluentbit 采集,并直接写入 ElasticSearch,最终使用 Kibana 查看。借此实践过程,让读者熟悉 Fluentbit 的使用。测试环境介绍Macbook M1 芯片ElasticSearch、Ki…
Kubernetes Secrets 与跨命名空间访问指南
Kubernetes Secrets 与跨命名空间访问指南 Kubernetes 是一个强大的平台,旨在大规模管理容器化应用程序,其中 Secrets 作为安全管理敏感数据(如密码、API 令牌和加密密钥)的关键功能。默认情况下,Secrets 仅限于创建它们的命名空间,限制了它们在命名空间之间的可访问性。 在本指南中,我们将探讨跨命名空间安全高效…
thumbnail
[kubectl-resource-view]: 一款用于查看k8s资源使用情况的插件
1.简介 一款自己编写的k8s 命令行插件,用于查看k8s node和pod资源的 cpu、 memory、 gpu的request 和limit 使用情况。 2.安装 可直接解压下载使用,也可以从github仓库中进行下载最新版本,支持不同架构,喜欢的麻烦给个小星星,有啥额外的需求可以提issue https://github.com/bryan…
thumbnail
[kubectl-resource-view]: 一款用于查看k8s资源使用情况的插件
一款自己编写的k8s 命令行插件,用于查看k8s node和pod资源的 cpu、 memory、 gpu的request 和limit 使用情况。可直接解压下载使用,也可以从github仓库中进行下载最新版本,支持不同架构,喜欢的麻烦给个小星星,有啥额外的需求可以提issuehttps://github.com/bryant-rh/kubectl…
thumbnail
docker-compose.yml文件模板和解析
以下是 docker-compose 文件的常用字段分类和用途解析,附带简单的范例说明。 1. 基础配置 version指定 docker-compose 文件的版本,例如 3.9 是常见的版本。范例:用于定义文件规范的版本。 services定义多个服务,每个服务表示一个容器。范例:包括服务名称、镜像信息和…
thumbnail
深入解析:Horizon View虚拟机图形加速技术应用案例
在石油和天然气、太空探索、航空航天、工程、科学以及制造等众多领域,工程师、设计师和科学家们经常需要执行一些极为苛刻的任务,例如操纵3D模型和可视化地分析大型数据集。为了完成这些任务,他们通常依赖于专用的图形工作站。然而,这些独立工作站不仅采购成本高,维护成本也相当高昂。 在传统的工作模式下,这些高性能的工作站通常被安置在特定的实验室或办公室内。因此…
thumbnail
监控都没做好,你还要可观测性...
很多公司听说可观测性好,就要上马可观测性项目,自研/采购,各种投入,结果发现效果很差,业务不认可,最终一地鸡毛。其实凡事总有个过程和时机问题,在落地可观测性之前,我建议你先看看你们的监控做好了没有,监控的投入产出比高,也是可观测性的数据基础之一。 我们公司就是提供监控+可观测性的产品和解决方案,在这里讲让大家慎重落地可观测性,其实是对我们不利的,不…
thumbnail
解决 Kubernetes 节点上的挂载点卡住问题:一次深入探索
在Kubernetes的日常操作中,我们可能会遇到各种各样的挑战和问题。最近,我遇到了一个特别棘手的问题:即使Pod 和Persistent Volume (PV) 已经被删除,它们之间的挂载关系仍然存在,导致整个集群的节点都无法使用 df -h 命令。本文将分享我是如何发现并解决这个问题的。 在Kubernetes集群的日常维护中,我们发现所有节…
thumbnail
从k8s容器丢包事件中掌握内核参数优化技巧
在k8s的使用场景中,容器不是仅仅能运行就算ok,往往还需要进行容器的内核参数优化和应用程序参数的调优,如在高并发的业务场景下,运行一个java程序,我们不仅需要对其JVM参数进行调优,而且需要对其所在的容器进行内核参数优化,这篇文章主要通过一次容器丢包事件介绍容器中内核参数优化的方法。 线上业务反馈接口偶发性返回502状态码,从请求日志和监控系统…
thumbnail
全链路监控:打通前后端链路的最后一公里
  本次分享的是一个基于JAVA的微服务应用场景。后端使用SkyWalking进行链路监控,前端使用Sentry进行性能和异常监控。然而,在排查用户侧问题和优化站点性能时,前后端请求的关联性较差。因此,我们考虑使用Nginx的RequestID作为链路TrackID,将前后端链路打通,从而实现更高效的监控和问题排查。 如上图,用户通过前端发起请求,…
thumbnail
Kubernetes etcd 定时备份及恢复方案
etcd 是一个高可用的分布式键值存储系统,在Kubernetes集群中用于存储和管理集群的所有关键信息,如配置数据、元数据、状态信息等。简而言之,etcd 存储了Kubernetes集群本身的所有数据,包括Pod、Service、Node、Namespace 等对象的元数据和状态。可以说,只要我们有了etcd的备份文件,就可以恢复Kubernet…
在 Kubernetes 中重启 pod 的 3 种方法
在 Kubernetes 中,管理和维护容器化应用程序是一项重要的任务。其中一个常见的操作是重启 Pod,无论是为了解决问题还是应用程序的更新。在本文中,我们将深入探讨在 Kubernetes 中重启 Pod 的三种方法,并为每种方法提供详细的步骤和示例。 kubectl 命令 首先,我们需要登录到运行着 Kubernetes 集群的主机或者使用远…
thumbnail
k8s中的pod不停的重启,定位问题原因与解决方法
我们在做性能测试的时候,往往会发现我们的pod服务,频繁重启,通过kubectl get pods 命令,我们来逐步定位问题 现象:running的pod,短时间内重启次数太多  定位问题方法:查看pod日志 kubectl get event #查看当前环境一个小时内的日志 kubectl describe pod pod_name #…
thumbnail
记一次持续三个月的 K8s DNS 排障过程
本文整理自灵雀云的专家工程师刘梦馨,在《蓝鲸 X DeepFlow 可观测性  Meetup》 中的分享实录,从一个毫无头绪的 K8s DNS 故障出发,分享问题的排查思路,详解排查过程中遇到的 DNS 服务、Alpine 镜像、业务代码逻辑、CNI 插件等各个层面的异常现象。整个排查过程基于 DeepFlow 的持续观测能力,实现了对故障现场的高…
nginx-ingress代理websocket配置示例
官方文档中说明websocket不需要特别的配置,但需要在注解中配置以下三项 再ingress-nginx的官方文档中说明websocket不需要特别的配置,但需要在注解中配置以下三项 nginx.ingress.kubernetes.io/proxy-http-version: "1.1" nginx.ingress.kubernetes.io/…
thumbnail
k8s网络插件之calico两种网络模式
一、calico概述 1、k8s网络之Calico网络2、k8s网络组件calico详解3、calico的组件、架构与原理4、calico的两种网络模式BGP和IP-IP性能分析 二、IPIP与BGP两种网络模式对比 IPIP网络: 流量:tunl0设备封装数据,形成隧道,承载流量 适用网络类型:适用于互相访问的Pod不在同一个网段中,跨网段访问的…
在 ESXi 7.0/8.0 中,时区问题以及root 帐户无法再更改权限或可执行文件
问题 在以前的版本中,root 可以更改文件权限、重命名、移动或删除根文件系统中的任何文件。 文件系统保持首次启动时的状态,因为这样可以提高安全性,因为受感染的系统无法修改 正常的读写配置文件以外的内容。 配置文件通过设置“粘性”位文件权限位 (01000) 来标识。 任何试图修改不被视为配置文件的文件的行为都会导致出现以下消息:Oper…
thumbnail
云原生夜莺监控 v7 最终版来了,可以上车了
夜莺监控 Nightingale 发布了 v7.7 版本,这是 v7 系列的最后一个版本,保守主义者可以放心上车了,v7.7 主要是做了一些小修小改,增强了使用体验,下周开始,启动 v8 版本的开发。v8 版本会更让人激动,会重构通知逻辑,支持 ElasticSearch、ClickHouse 等数据源的告警,另外机器告警策略也会和业务组…
thumbnail
Github 9k star 监控项目,有效解决Prom痛点,推荐了解
前言 监控系统的重要性不言而喻,国内用的最多的应该是 Zabbix 和 Prometheus,其优缺点: Zabbix 是资产管理式,监控数据存在数据库中,擅长设备监控,不擅长微服务和云原生环境的监控;推出时间较早,社区活跃度较高 Prometheus 是云原生环境的监控利器,支持多维度的指标数据,自研存储引擎,但是告警引擎是单…
thumbnail
Ingress出现诡异的HTTP状态码“000”
背景     近日,有朋友提到他们的ingress出现了“000”状态码,我一开始是不信的,认为他们可能是打印日志的姿势不对,因为http状态码压根就没有000的说法,于是要求对方上图,没想到,还真有。。。是怎么回事呢?让我们继续往下看。 问题现象     这是发生在比较低的版本0.25.1的身上,我们先看下定义的日志格式,status引用的是内置…
一招完美解决k8s调度不均问题
01 前言      在近期的工作中,我们发现 k8s 集群中有些节点资源使用率很高,有些节点资源使用率很低,我们尝试重新部署应用和驱逐 Pod,发现并不能有效解决负载不均衡问题。 02 调度不均衡的原因 1.1 sceduler 不是根据node负载进行调度 k8s 调度器默认会根据Po…
从k8s的事件聊聊for循环
序言     见过的人越多,就越喜欢狗。     感觉没有秋天,突然一下就凉凉的,偶尔还下个雨。k8s事件和for循环     人人都爱for循环,无论是开发还是运维,经常随便来个for循环来执行一些脚本,例如进行一个测试。 fo…
thumbnail
使用Jenkins发布镜像到指定远程主机的docker容器
整个流程就是,使用Jenkins拉取Harbor中的镜像,然后ssh去删除当前存在的容器,然后根据指定的镜像版本去创建新的容器。 流水线解释 这里选取镜像使用的“Image Tag Parameter”这个插件和harbor进行集成。Image Tag Parameter(镜像标签参数)是Jenkins中一个非常实用的插件功能,它允许用户在构建过程…
thumbnail
成都双流钓鱼好去处-钓鱼嘴
位于成都双流区的钓鱼嘴,是一个人气颇旺的垂钓胜地。由于访客众多,若抵达较晚,往往难以寻觅到理想的垂钓位置。此地之所以深受钓友们的青睐,很大程度上得益于其丰富的水生资源——尤其是石板鳅的盛产,加之数量可观的鲫鱼,共同构成了这一钓点独特的魅力所在。我于当日13时启程,大约半小时后,即13点30分左右抵达钓鱼嘴。直至下午四点半,我结束了此次垂钓之旅。在这…
thumbnail
k8s运维必看:k8s证书过期如何更换
在Kubernetes(k8s)环境中,证书的管理至关重要,因为集群的各个组件高度依赖于它们来确保安全的通信。然而,Kubernetes默认的证书管理策略存在一些潜在的风险。具体来说: CA证书有效期长:默认情况下,集群的CA(证书颁发机构)证书有效期长达十年。这意味着CA证书本身在长时间内是有效的,减少了因CA证书过期而引发的紧急更新需求。 其他…
thumbnail
如何修改CoreNext主题整站宽度
CoreNext主题的默认宽度是1200px,本站长看起来始终不是那么舒服,于是就自己动手改下整站的宽度为1400px。下面是修改步骤: 找到文件/wp-content/themes/CoreNext/static/css/main.css ctrl+F进行全局搜索max-width,将其改为1400px,然后保存即可。 效果如下
一条命令重建或者删除kubenetes的命名空间namespace下的所有pod
经常我们会遇到这样一个情况,那就是需要将部署在某个namespace下的所有pod进行删除重建操作。如果一个个的去操作既浪费时间又繁琐。实际上我们可以通过一条shell命令就可以操作。 ns=kubesphere-system;for i in `kubectl get pods -n $ns|awk '{print $1}'`;do kubect…
thumbnail
使用Nginx反向代理kubesphere
nginx处终结ssl证书,代理后端kubesphere通过NodePort暴露的http端口 [root@devops ~]# cat /etc/nginx/conf.d/rancher_devops_70mail_cn.conf upstream rancher{ server 192.168.2.249:30880 weight=1 …
thumbnail
新手必看:Kubernetes快速入门——利用vscode快速生成YAML清单!
在使用Kubernetes时,我们经常需要搜索Kubernetes YAML文件以便部署测试Pod、Deployment或其他对象。毕竟,没人愿意每次都手动编写YAML文件的每一行,对吧? 让我们来看看一些简化YAML创建过程的Kubernetes技巧。 使用Kubernetes扩展自动生成YAML 最简单的创建Kubernetes YAML文件的…
面试官:能在容器里面通过 kill -9 杀死容器吗?问倒一大片。。。
我们都知道,想要在 Linux 中终止一个进程有两种方式。 如果是前台进程可以使用 Ctrl+C 键进行终止。 如果是后台进程,那么需要使用 kill 命令来终止(其实 Ctrl+C 也是kill命令)。 kill命令默认将信号(signal)15发给进程,让进程优雅地退出,释放资源。而kill -9则是强制终止进程,相当于发送信号9,不管进程是否…
WordPress 分页判断当前是第一页或最后一页
在 WordPress 中,你可以使用不同的方法来调用最新发布的文章。下面是一些常见的方法: 使用 WordPress 主题中的“最新文章”小工具: 登录到你的 WordPress 后台。 转到“外观” > “小工具”。 在小工具区域中,找到“最新文章”小工具,并将其拖放到你想要显示最新文章的小工具区域。 配置小工具的选项,如显示文章数量、文…
thumbnail
Esxi开启显卡直通的方法
在管理—>硬件的PCI设备中搜索nvidia,勾选其中一个后,选择切换直通  打开SSH(主机-操作-服务-启用SSH),然后ssh进入ESXi 输入 lspci -v | grep NVIDIA -A1 找到显卡 [root@localhost:~] lspci -v | grep NVIDIA -A1 0000:21:00.0 Disp…
Ingress获取真实IP
一般情况下,经过ingress的请求会携带headerX-Real-IP,用户可根据header解析出真实访问IP。 特殊情况,用户请求可能经过多个nginx才达到ingress, 通过上述方法得到的并不是用户的真实IP。 request->nginx->…->ingress->backend 方案1 use-forward…
thumbnail
Docker in Docker容器化版的“盗梦空间”
点击上方蓝字·关注我们Docker in Docker(DinD) 是一种容器虚拟化嵌套技术,它允许用户在容器内部运行 Docker 容器,层层嵌套,从而实现更复杂的容器化操作和构建环境 。01背 景Kubernetes集群计划迁移至1.24版本的集群,底层容器运行时换成了Containerd,然而当前的CI/CD流水线大多地方使用到了docker…
thumbnail
k8s-apollo分布式部署
一、前置准备 #1.1 环境准备 前面介绍过Apollo使用Docker分布式部署 (opens new window)的方案,这里介绍下如何在k8s集群中部署,因为随着云原生的流行,大多数公司系统的交付都是以k8s的方式进行管理运行,本次使用涉及版本如下: k8s版本: 1.26 helm版本: v3.12.0 apollo版本: 1.…
k8s存储之nfs自动供给StorageClass配置
nfs自动供给需要安装第三方插件。资源配置清单下载地址: https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner/tree/master/deploy 上面的资源清单中涉及的镜像源可以通过以下方式拉取: registry.cn-beijing.aliyun…
thumbnail
nginx之autoindex模块在浏览器中展示一个目录列表
autoindex是Nginx的一个自带模块,它用于在浏览器中展示一个目录列表。 当用户访问一个Nginx web服务器下的一个目录而不是一个特定的文件时,autoindex模块会创建一个HTML页面,列出目录下的所有文件及其相关的信息,如文件大小、创建时间、文件类型等。 autoindex模块还允许用户对文件进行下载、删除和重命名等操作。 代码如…
八个步骤彻底清理Docker无用镜像
docker镜像如此清理 在日常开发和维护工作中,Docker 镜像管理是一件既繁复又必要的工作。镜像积累如山,不仅占用宝贵的磁盘空间,还可能给我们的工作带来不便。今天,就让我带大家深入了解如何高效清理 Docker 镜像,保持我们的开发环境干净整洁。 1.查看镜像并评估 首先,我们需要知道自己的“战场”: docker images -a -a …
centos7下安装docker与配置
宿主机开启转发。网桥配置完后,需要开启转发,不然容器启动后,就会没有网络,配置/etc/sysctl.conf,添加net.ipv4.ip_forward=1 vim /etc/sysctl.conf #配置转发 net.ipv4.ip_forward=1 net.bridge.bridge-nf-call-ip6tables = 1 net.br…
thumbnail
搭建VMware Horizon8私有云桌面虚拟化(一)安装Horizon Connection Server8
根据部署过程以图文的方式将 VMware Horizon 云桌面部署简化描述,类似 VSAN 概念不会出现。 搭建案例的存储是在 Esxi 本地,系统的相关设置也只限于能够直接使用到云桌面并没有细化的讲解,主要的服务器就一台 Esxi,其他的域控等服务器都是基于 Esxi 做的虚拟主机。PS:vSphere Server 是一个…
thumbnail
搭建VMware Horizon8私有云桌面虚拟化(二)安装SQL数据库与View Composer(可跳过此步骤)
安装 SqlServer 数据库用来存储事件日志(装不装看自己需求,此步骤可跳过) 测试环境如下: IP 地址:40.1.0.205虚拟机名:Horizon-SqlServer计算机名:Runm-SqlServer系统环境:Windows Server 2019 Standard 一、服务器环境准备1. 创建虚拟机2. 安装 VMware Tool…
thumbnail
搭建VMware Horizon8私有云桌面虚拟化(四)vCenter Server 设置Esxi集群与主机
1、新建数据中心 2、新建集群,虚拟桌面需要使用集群才可创建,必须要的步骤,即使你就一台 Esxi 重点填坑:这里有个坑,由于配置不够不能打开 vSphere DRS 与 vSphere HA 不然会导致后面模板机开机失败。 关闭 vSphere DRS 关闭 vSphere HA 3、添加主机 4、连接完成,红色感叹号是因为新建集群时勾选了 DR…
thumbnail
搭建VMware Horizon8私有云桌面虚拟化(七)Horizon 创建桌面池连接SqlServer数据库
 一、创建桌面池 1、连接Horizon控制台 2、添加桌面池 又是一个细节: 即时克隆属于实时复用硬盘和内存的,置备速度快。链接克隆需要把父虚拟机克隆并锁定,然后再进行链接磁盘生成虚拟机,置备速度比较慢。 用户每次登录都从桌面池随机选计算机 选择刚创建的模板机和快照,最后的数据存储选择本地存储。 AD 容器选择用于存储计算机的 OU 授…
thumbnail
VMware vSphere vCenter 8.0及7.0下载、安装部署教程
第一阶段: 下载vcenter安装包,然后右击点装载。选择vcsa-ui-installer文件夹,该文件夹下存放着GUI方式安装VCSA的执行程序。根据安装程序运行的操作系统选择相应的安装格式。在这里宿主机是windows系统,因此打开【win32】目录。点击【installer.exe】文件,右上角可以选择安装时使用的语言 指定安装目标ESXI…
自动清理harbor镜像仓库脚本
请看说明再执行,出现删除过多概不负责。 网上找的版本删除有点问题,做了一定的修改。我这里的镜像都是依照数字正常排序构建的。例如v1.0.1 v1.0.1 v1.0.2 v1.0.3 v1.0.4 OLD_VERSION_NUM设置为3的话 会把v1.0.1删除。只保留后3个。 执行前先安装jq wget -O /etc/yum.repos.d/ep…
K8S集群中Pod的Evicted状态原因
在Kubernetes(K8S)中,Pod的Evicted状态表示Pod已经被驱逐,并不再运行在节点上。Pod驱逐主要是由于资源约束,如内存不足或磁盘空间不足。以下是详细原理、原因和解决方案。 原理: Kubernetes集群会监控节点资源使用情况,当资源不足时,kubelet会触发Pod驱逐过程。驱逐过程会根据优先级和资源使用情况选择要驱逐的Po…
世界,您好!
welcome welcome 欢迎使用 WordPress。这是您的第一篇文章。编辑或删除它,然后开始写作吧! 大大大