Tmux简介Tmux 是 Terminal Multiplexer 的简称,它是一款优秀的终端复用软件,类似 GNU screen,但比screen更出色。tmux来自于OpenBSD,采用BSD授权。使用它最直观的好处就是, 通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机, 还有一个好处就是当终端关闭后该shell里面运行的任务进程也会随之中断,通过使用tmux就能很容易的解决这个问题。 Tmux和screen的比较Tmux 和 Screen 都是用于在 Unix-like 系统中进行终端多路复用的工具,它们具有类似的功能,但也有一些区别。下面是它们的优点和区别: Tmux 的优点和特点: 更现代的代码:tmux 是一个相对较新的项目,代码更现代化、维护更活跃,具有更好的可扩展性和可定制性。 更丰富的功能:tmux 提供了更丰富的功能集,包括窗格(窗格s)、窗口(windows)、会话(sessions)等,可以更灵活地管理多个终端会话。 更好的自定义性:tmux 支持通过配置文件进行各种自定义设置,用户可以根据自己的 ...
引言在当今互联网环境中,网站的安全性越来越受到重视。HTTPS 作为一种能够提供加密通信和验证网站真实性的协议,已经成为网站安全的基本标准。然而,许多平台提供的 HTTPS 证书往往有有效期限制,比如腾讯云等平台目前提供的证书只有3个月的有效期。这不仅增加了证书管理的复杂性,还可能因为证书过期而导致网站访问中断。 为了解决这个问题,我们可以使用Certbot这个强大的工具来自动申请和管理 HTTPS 证书。Certbot是一个开源软件,它可以通过自动化的方式从Let's Encrypt等证书颁发机构(CA)获取和安装 HTTPS 证书。更重要的是,这些证书是免费的,并且可以通过自动续订来保持长期有效。Certbot支持多种服务器和平台,包括Apache、Nginx等。 为什么选择Certbot? 自动化:Certbot 可以自动申请、安装和更新证书,无需手动干预。 免费:Let’s Encrypt 提供的证书完全免费。 安全:使用 HTTPS 加密网站流量,保护用户数据安全。 兼容性:广泛支持各种操作系统和Web服务器。 社区支持:拥有活跃的社区和丰富的文档资源。 如何使用C ...
最新 Jetbrains 全家桶激活亲测有效第一步下载压缩包, Windows:关注公众号回复:Windows-Jetbrains Mac:关注公众号回复:Mac-Jetbrains 第二步:东西下载好右键解压,一定要解压,不然没法执行!切记!这一步不能漏! 第三步:打开激活码-win系统文件夹后,里面有很多个vbs,你是什么软件,你就双击什么软件的vbs即可 例:你是idea就执行idea激活.vbs 你是pycharm你就执行pycharm激活.vbs 如果提示Success,后面显示2099,就是成功。重启软件即可使用 苹果电脑运行脚本前:先打开你的软件,然后关掉软件(目的是初始化软件)。记得关闭软件后-再运行 激活idea 输入命令: sh idea.sh 激活pycharm 输入命令:sh pycharm.sh 激活webstorm 输入命令:sh webstorm.sh 激活clion 输入命令:sh clion.sh 激活goland 输入命令:sh goland.sh 激活datagirp 输入命令:sh datagirp.sh 激活phpstor ...
简介在现代容器化应用开发中,Kubernetes 已成为主流的容器编排平台,为应用部署和管理提供了强大的功能。然而,随着应用规模和复杂性的增加,对于持久化存储的需求也日益迫切。在 Kubernetes 集群中,分布式存储解决方案如 GlusterFS 成为了许多开发者和运维人员的首选。本文将深入探讨 Kubernetes 运维中的分布式存储,重点介绍 GlusterFS 的原理、架构以及在 Kubernetes 中的实践应用。 GlusterFS 是一个强大的开源分布式文件系统,具有出色的横向扩展能力,能够轻松支持数 PB 的存储容量,并处理数千个客户端的请求。它的核心优势在于将来自多台服务器上的磁盘存储资源集成到单一的全局命名空间,为用户提供了高效的共享文件存储解决方案。 该分布式文件系统具有多项突出特点,包括高扩展性、高可用性、高性能以及可横向扩展等。与其他存储解决方案相比,GlusterFS 的设计中没有元数据服务器,因此整个服务不存在单点故障的隐患,为应用部署和运维提供了更高的稳定性和可靠性。 在安装 GlusterFS 环境时,需要满足一定的硬件和网络要求。 至少需要三个节 ...
存储卷介绍 Kubernetes 使用存储的原因 Kubernetes 中的副本控制器保证了pod的始终存储,却保证不了pod中的数据。只有启动一个新pod的,之前pod中的数据会随着容器的删掉而丢失! 共享存储机制 Kubernetes 对于有状态的容器应用或者对数据需要持久化的应用,不仅需要将容器内的目录挂载到宿主机的目录或者emptyDir临时存储卷,而且需要更加可靠的存储来保存应用产生的重要数据,以便容器应用在重建之后,仍然可以使用之前的数据。Kubernetes引入持久化存储卷(PV)和持久化存储声明(PVC)两个资源对象实现对存储的管理子系统。 概念PV 的全称是:PersistentVolume(持久化卷),是对底层共享存储的一种抽象,PV 由管理员进行创建和配置,是一个全局资源,包含存储的类型,存储的大小和访问模式等。它和具体的底层的共享存储技术的实现方式有关,比如 Ceph、GlusterFS、NFS、hostPath 等,都是通过插件机制完成与共享存储的对接。 PVC 的全称是:PersistentVolumeClaim(持久化卷声明),PVC 是用户存储 ...
Ingress 流量出于简单性和可组合性的原因,Linkerd 本身没有提供内置的 Ingress 控制器。Linkerd 旨在与许多现有的 Kubernetes Ingress 解决方案一起使用。 将 Linkerd 和您选择的入口解决方案结合起来需要两件事: 配置您的 Ingress 以支持 Linkerd。 网格化你的 Ingress 控制器,以便它们安装 Linkerd 代理。 对 Ingress 控制器进行网格化将允许 Linkerd 在流量进入集群时提供 L7 指标和 mTLS 等功能,Linkerd 支持与大部分 Ingress 控制器进行集成,包括: Ambassador (aka Emissary) Nginx (community version) Nginx (F5 NGINX version) Traefik Traefik 1.x Traefik 2.x GCE Gloo Contour Kong Haproxy EnRoute ngrok ingress-nginx这里只演示如何开启 ingress-nginx 与 Linkerd 进行集成,不 ...
背景介绍在当今的软件开发环境中,持续集成(Continuous Integration,CI)和持续部署(Continuous Deployment,CD)是非常重要的概念。它们可以帮助我们实现高效的软件开发,提高软件质量,降低软件开发成本。在这篇文章中,我们将深入探讨测试自动化的持续集成与持续部署,并探讨它们如何帮助我们实现高效的软件开发。 核心概念与联系持续集成(Continuous Integration,CI)持续集成是一种软件开发策略,其核心思想是将开发人员的代码通过自动化的构建和测试系统进行集成和测试,以确保代码的质量和可靠性。通常,持续集成包括以下几个步骤: 开发人员在本地环境中编写代码并进行测试。 开发人员将代码推送到共享的代码仓库。 自动化构建系统从代码仓库中获取最新的代码,并进行构建。 自动化测试系统运行所有的测试用例,以确保代码的正确性和质量。 如果测试通过,则将代码部署到下一个环境中,如测试环境或生产环境。 持续集成的主要优点包括: 提高代码质量:通过自动化的构建和测试,可以及时发现和修复代码中的问题,从而提高代码质量。 提高开发效率:开发人员可以更加快速 ...
概述前面我给大家分享了关于分布式链路追踪的基本原理和 SkyWalking的k8s部署玩法,如果还没来得及看的朋友可以看我上俩篇文章。 今天要给大家分享是我们日常工作中最常见的一种场景,那就是部署在k8s环境下的Java微服务,要接入SkyWalking的具体玩法,通过这个过程咱们可以更深入的理解SkyWalking进行数据采集的逻辑,也能更深刻地从运维角度理解日常工作中所写的Java微服务被无侵入的方式接入分布式链路追踪系统的过程! Java微服务接入SkyWalking的方式SkyWalking 的数据采集主要是通过**业务探针(Agent)**来实现的,针对不同的编程语言 SkyWalking 提供了对应的 Agent 实现。Java微服务接入SkyWalking可以使用SkyWalking Java Agent来上报监控数据。 这就需要Java微服务在部署启动的过程中需要获取 SkyWalking Java Agent 探针包,并在启动参数中通过 --javaagent:xxx 进行参数指定。而具体的集成方式大致有以下三种: 使用官方提供的基础镜像; 将agent包构建到已存 ...
Skywalking监控k8s集群资源目前监控k8s集群指标是SkyWalking v9版本新特性,配置的时候网上一篇文章没有,搞了很久,记录一下,经验之谈就是多番找GitHub中 Issues 和阅读官方文档。 官方文档解释监控k8s集群地址:https://skywalking.apache.org/docs/main/next/en/setup/backend/backend-k8s-monitoring 安装kube-state-metric本次安装采用的是 Prometheus Operator 中部署的kube-state-metric,如果你想只想安装 kube-state-metric 请关注公众号回复:kube-state-metric 获取yaml。 12345678910111213# 验证 Prometheus Operator 安装的需要通过https请求访问$ kubectl describe secrets -n monitoring prometheus-k8s-token-j5spg$ curl -k -H "Authorization: B ...
Skywalking介绍 Skywalking 是一个国产的开源框架,2015年有吴晟个人开源,2017年加入Apache孵化器,国人开源的产品,主要开发人员来自于华为,2019年4月17日Apache董事会批准SkyWalking成为顶级项目,支持Java、.Net、NodeJs等探针,数据存储支持Mysql、Elasticsearch等,跟Pinpoint一样采用字节码注入的方式实现代码的无侵入,探针采集数据粒度粗,但性能表现优秀,且对云原生支持,目前增长势头强劲,社区活跃。Skywalking是分布式系统的应用程序性能监视工具,专为微服务,云原生架构和基于容器(Docker,K8S,Mesos)架构而设计,它是一款优秀的APM(Application Performance Management)工具,包括了分布式追踪,性能指标分析和服务依赖分析等。 关于微服务微服务架构已经是一个很通用的系统架构,常见的技术栈如下图所示,这张架构图基本涵括了当前微服务体系下的各种技术栈,可能不同的技术栈有不同的开源实现。 链路追踪工具对比链路追踪框架对比目前市面上开源的APM系统主要有CAT ...
重试与超时在构建分布式系统时,保证可靠性是一项关键任务。Linkerd 是一个功能强大的服务网格工具,通过其重试与超时机制,可以帮助应对临时错误和延迟问题,从而提高系统的可靠性。本文将深入探讨 Linkerd 中的重试与超时特性,以及它们如何帮助应对故障和提升用户体验。 重试是一种处理失败请求的机制。当一个请求失败时,Linkerd 的重试机制可以自动重试请求,以期获得成功的响应。当特定实例上的特定路由返回错误时,Linkerd 可以简单地重试该请求,从而增加请求成功的可能性。这对于处理临时性的网络问题非常有用,例如网络拥塞或服务暂时不可用。通过重试,可以增加请求成功的机会,并提高系统的可靠性。然而,在实践中,实现重试可能会面临一些挑战。可能会给系统增加额外的负载,这个负载可能会让事情变得更糟糕。一种常见的故障场景就是重试风暴,为了避免重试风暴的发生,Linkerd 使用重试预算来设置重试参数。重试预算是可以重试的请求总数的百分比,Linkerd 默认允许对失败的请求进行 20% 的重试,并每秒额外允许 10 个请求的重试。这种方式可以有效地降低重试风暴的风险,确保系统的稳定性。 超时 ...
Service ProfilesLinkerd 服务网格解决的最重要问题之一是可观察性:提供服务行为的详细视图,Linkerd 对可观察性的价值主张是,它可以为你的 HTTP 和 gRPC 服务提供黄金指标,这些都是自动执行,无需更改代码或开发人员参与的。 部署测试应用了解 Linkerd 如何为一项服务工作,安装一个简单的示例应用 Emojivoto,该应用是一个简单的独立 Kubernetes 应用程序,它混合使用 gRPC 和 HTTP 调用,允许用户对他们最喜欢的表情符号进行投票。 通过运行以下命令可以将 Emojivoto 安装到 emojivoto 命名空间中: 1$ curl -fsL https://run.linkerd.io/emojivoto.yml | kubectl apply -f - 在我们对它进行网格(mesh)划分之前,让我们先来看看这个应用程序。可以通过 port-forward 来暴露 web-svc 服务kubectl -n emojivoto port-forward svc/web-svc 8080:80,也可以使用Ingress 1234 ...