echo $VAR 有没有一种方法可以通过只执行 export.bash 而不 source 它获取 $VAR? 答: 不可以。 但是有几种可能的解决办法。...最明显的方法,你已经提到过,是使用 source 或 ....在调用 shell 的上下文中执行脚本: $ cat set-vars1.sh export FOO=BAR $ . set-vars1.sh $ echo $FOO BAR 另一种方法是在脚本中打印设置环境变量的命令.../set-vars2.sh)" $ echo "$FOO" BAR 在终端上执行 help export 可以查看 Bash 内置命令 export 的帮助文档: # help export export...help eval 相关阅读: 用和不用export定义变量的区别 在shell编程中$(cmd) 和 `cmd` 之间有什么区别 ----
前言 公司用的k8s集群是“多环境合一”的方式,集群流量入口也摒弃了常见的traefik和ingress-nginx,直接用了一个国内不常见的底层基于Envoy的API Gateway网关服务。...由于这个组件更新迭代也是非常的快速,并且官方文档很快不展示旧版本文档了,那么随着版本更新,API版本自然发生了改变,新版本的API就没有任何的参考意义了,因此需要升级组件版本。...k8s的node节点维护 尽可能在维护节点之前保证你的有另外的冗余节点,能够支撑你当前维护节点上的所有pod。或者保证你维护这个节点驱逐了所有pod后,其他节点能够承载你这个节点上所有pod。...SchedulingDisabled ... 3、停止节点上docker和kubelet systemctl stop kubelet systemctl stop docker systemctl stop docker.socket...systemctl stop containerd 4、卸载老版本docker并安装新版本docker和containerd yum -y remove docker \
云由临时的服务器组和向服务器分配容器的方法组成。容器是一种将应用程序打包到标准化单元中的方法,以便该应用程序可以在云中的任何服务器上平稳运行。...运行Traefik 仪表盘 K3s为Ingress controller创建了一个Traefik 部署,但默认情况下,仪表盘是禁用的。...在启用仪表盘的情况下运行Traefik,可以实现应用Ingress创建的路由规则的概念。 必须编辑Traefik的ConfigMap才能启用仪表盘。...配置Traefik路由规则 我们的例子可以很容易地在不创建yaml文件的情况下完成;然而,yaml文件允许你保存你的工作,并轻松地启动和拆除整个配置设置。...k3s 专为在资源有限的环境中运行 Kubernetes 的研发和运维人员设计,将满足日益增长的在边缘计算环境中运行在 x86、ARM64 和 ARMv7 处理器上的小型、易于管理的 Kubernetes
集中的策略,如 TLS,可以由集群运维在 Gateway 上强制执行,同时,Store 和 Site 应用在他们自己的命名空间中运行,但将他们的路由附加到相同的共享网关上,允许他们独立控制他们的路由逻辑...这种关注点分离的设计可以使不同的团队能够管理他们自己的流量,同时将集中的策略和控制留给集群运维。...在这种情况下,没有可以用来选择同一端口的不同后端的判别器,所以每个 TCPRoute 在监听器上需要一个不同的端口。...你可以使用 TLS,在这种情况下,未加密的字节流会被传递到后端,当然也可以不使用 TLS,这样加密的字节流将传递到后端。...要在 Traefik 中使用 Gateway API,首先我们需要先手动安装 Gateway API 的 CRDs,使用如下命令即可安装,这将安装包括 GatewayClass、Gateway、HTTPRoute
可见 docker.service 是依赖于 docker.socket 的,但是并不必要开启 Tip: 其实上面的步骤完成,就已经能保证docker会开机启动,原因是它依赖的 docker.socket...虽然本身设定为不要开机启动,但开机时会被systemctl检查然后触发启动以支持 docker.service 的运行 可以用上面方法也将 docker.socket 设为开机启动(但这一步不是非常必要...disabled [root@h103 ~]# systemctl enable docker.socket Created symlink...enabled [root@h103 ~]# ---- 卸载Docker 列出安装包 [root@h103 ~]# yum list installed...[root@h103 ~]# 这种情况下,只删除了软件包,但是没有删除镜像,容器,卷和自己创建的本地配置
K3s 被打包成一个<60MB的二进制文件,减少了安装、运行和自动更新一个生产型 Kubernetes 集群所需的依赖性和步骤。ARM64 和 ARMv7 都被支持,二进制文件和多架构镜像都可以使用。...•“边”设备中安装轻量化操作系统 MicroOS(一种不可变 OS,在本文不是重点,不展开),以及 K3s,K3s 中部署“边”的业务应用,供“端”连接使用。...,则可以做到业务的边缘自治。...•轻量化 K8s: 使用轻量化的 K8s 解决方案 K3s 作为运行环境,可在硬件资源紧张的情况下提供基于 K8s 的容器服务,使业务享受 K8s 的技术红利。...•运维简单: Rancher 和 K3s 文档齐全,提供很多方便的运维自动化工具。•完整的企业功能: 如:认证、鉴权、单点登录、API...
记一次k8s环境上的traefik CORS故障处理过程: Step-1 前端抛出故障,指明运维配置有问题,如图: 意思是:前端新增一个Headers:x-request-id,即Access-Control-Allow-Headers...Step-2 运维部门接收到这个问题(锅),查询traefik官方配置文档: v1.7 latest版本增加headers配置: 链接:https://docs.traefik.io/configuration...跟v2.0是不兼容的,所以v1.7正式版得在ingress上增加annotations。...v1.7好像不支持统一入口修改,在toml文件没找到配置项······,v2.0应该支持toml文件统一修改。...这种处理方法的不方便之处就在万一前端开发又需要增加headers,运维又得去修改yaml配置文件,这种情况需要升级traefik版本才能彻底解决。
看到服务器配置的第一眼,哇靠,这配置真奢侈啊,妥妥的土豪,你没看错,这只是冰山一角。就问你一句话,奢不奢侈。 ...,docker还是顽固的起不起来。...-nplt | grep docker 完成以上操作后,又执行一遍安装+测试的命令即可,如果重复执行多次不爽,那我建议你可以拿出问题修复杀手锏了:重启服务器 3..../system/docker. socket 其中docker.socket文件的内容填写如下内容(先不关心里面配置的什么,先跑起来才是王道,后面有时间在慢慢研究): [Unit] Description... 本次整理没有其他目的,就是一个环境部署笔记总结,正好如果您也在找,也许可以帮助到你一点什么呢,岂不是一件快事。
,而且这个消息通知规模比较大,每次通常会向几万或者几十万人发送消息,在现有资源情况下,通常会带动服务器有一定的资源波动,因此第一时间怀疑是服务器资源不够用了,系统产生大规模超时等报错让网关层产生了假性服务器不可用的错误...K8s下,运维侧对那边服务架构做了比较大的调整,对于代理这块,以前使用的是nginx,现在改用了traefik,我们知道在用了代理的情况下,其实客户端和服务器并不是直接交互建立连接的,而是客户端请求交给代理...对于traefik也是一样的,我们在切到traefik后,由于客户端到traefik设置的keepalive为180s,而我们traefik到我们服务器设置的为60s,因此如果在客户端到traefik的连接断了后...,traefik到服务器连接还没断的时间区间内请求服务,那么极有可能出现502 二 解决 运维侧调整了客户端到traefik的keepalive时间,调整为小于等于我们服务器到traefik的keepalive...) 这次的盲点 盲点主要是不清楚运维侧代理把nginx换成了traefik,不然问题会更加明显,定位的更快些;
需要在安全组中打开此端口(并且,如果可能的话,请将该端口限制为IP地址白名单),以便远程客户端可以访问守护程序,为了安全起见,一般不建议开启。...如何通过ssh协议远程操作Docker服务 由于SSH被广泛使用,并且通常是默认情况下允许的协议之一,因此直接通过SSH访问Docker守护程序可能很方便。...准备一个安装好版本在18.09或者更新的Docker服务 curl -s https://get.docker.com | sh systemctl enable --now docker.service...回顾如何通过tcp/fd/unix远程访问Docker -H fd://如何使用 每次安装完Docker服务之后,在systemd文件中都会发现 -H fd:// 这究竟是什么意思呢?...但是为了安全起见,不建议开启docker的tcp端口,或者对Docker远程访问开启证书安全访问,不然你会摊上事儿的。 然后我们在恢复一下现场。
如果你有多个应用都希望使用 Basic Auth 来进行基础保护,那么可以在 Traefik 的动态配置中添加这个“验证中间件”,如果你还不了解如何配置 Traefik,可以参考这篇文章。...$4HxwgUir3HP4EsggP/QNo0 手动选择是否要将验证信息透传 默认情况下,当我们登录后,Traefik 会将授权后的验证头发送至后方的服务,我们在 header 中能看到类似下面的信息...: Authorization: Basic dGVzdDp0ZXN0 有一些应用支持使用请求头中的数据作为鉴权登录信息,而我们定义的用户信息很可能和系统的鉴权信息是不同的(也不推荐使用这个方案做为多数情况下应用鉴权方案...但是如果你的系统未公开暴露于网络,并且使用人员有限,或提供开放服务,但是单纯不希望被搜索引擎抓取,可以在应用前端套一层 Basic Auth,相比较用户、爬虫能够直接访问到机器,这样还能够节约大量不必要的计算资源浪费...在不发广告的情况下,我们在里面会一起聊聊软件、HomeLab、编程上的一些问题,也会在群里不定期的分享一些技术沙龙的资料。 喜欢折腾的小伙伴欢迎扫码添加好友。
k3s 除了在边缘计算领域的应用外,在研发侧的表现也十分出色。...我们可以快速在本地拉起一个轻量级的 k8s 集群,而 k3d 则是 k3s 社区创建的一个小工具,可以在一个 docker 进程中运行整个 k3s 集群,相比直接使用 k3s 运行在本地,更好管理和部署...在日常工作中,时长要在本地集群和多个远程集群之间切换来完成运维工作,这时使用 kubecm 快速将 k3s 集群的 kubeconfig 与现有集群的 kubeconfig 合并,并可快速切换集群,开发运维两不误...MacOS 或安装了 Homebrew 的 Linux 可以使用 brew 安装: brew install k3d 其他 还可以直接前往 release 页面[1] 下载二进制可执行文件,或者直接使用...不提 k3s 在边缘计算领域的应用,与之前使用的 minikube[7] 相比,k3s 裁剪掉了许多用不到的功能,并且安装更简单,启动更快,空间占用也更小。
介绍 Docker可以是在生产中运行Web应用程序的有效方法,但您可能希望在同一个Docker主机上运行多个应用程序。在这种情况下,您需要设置反向代理,因为您只想公开端口80和443。...没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。 在您的服务器上安装Docker。...安装Docker Compose,您可以通过如何在Ubuntu 18.04上安装Docker Compose的说明的教程来安装。...在nano或您喜欢的文本编辑器中打开您的新文件: nano traefik.toml 首先,添加两个命名的入口点,http和https,这样的话,在默认情况下所有后端都可以访问: defaultEntryPoints...由于Traefik可以访问Docker套接字,因此默认情况下该进程仍会暴露mysql容器的前端,因此我们将添加标签traefik.enable=false以指定Traefik不应公开此容器。
如何配置多个账号密码 配置多个账号密码可以使用两种方式: 使用包含多个账号的配置文件 使用包含多个账号的环境变量 如果你有多个应用都希望使用 Basic Auth 来进行基础保护,那么可以在 Traefik...$4HxwgUir3HP4EsggP/QNo0 手动选择是否要将验证信息透传 默认情况下,当我们登录后,Traefik 会将授权后的验证头发送至后方的服务,我们在 header 中能看到类似下面的信息:...Authorization: Basic dGVzdDp0ZXN0 有一些应用支持使用请求头中的数据作为鉴权登录信息,而我们定义的用户信息很可能和系统的鉴权信息是不同的(也不推荐使用这个方案做为多数情况下应用鉴权方案...=true" 在添加了上面内容后,我们可以看到输入账号密码后,Traefik 不会再进行 Authorization 请求头的透传。...但是如果你的系统未公开暴露于网络,并且使用人员有限,或提供开放服务,但是单纯不希望被搜索引擎抓取,可以在应用前端套一层 Basic Auth,相比较用户、爬虫能够直接访问到机器,这样还能够节约大量不必要的计算资源浪费
typescript,则使用 vscode remote 来完成工作 在 vscode 插件中关键字搜索,安装下载最多的三个插件就是了 开发调试 如果调试前端页面需要在浏览器中打开地址,比如 IP:8000...使用了以下镜像 docker-openvpn[6] traefik 前后端需要做一个反向代理,选择了 traefik,更方便的服务配置以及服务发现,只需要配置容器的 labels 就可以部署成功 另外...,又记不住端口号,所以又搭了一个 dns server,方便在本地访问 自动化运维 初期折腾服务器的时候经常需要重装系统,并且我有三台服务器,自动化运维是必不可少的了。...必备工具如 docker,git,vim,tmux,jq 都是通过 ansible 进行的安装 可以参考我的配置 https://github.com/shfshanyue/ansible-op 当你有了一台新服务器时...,你可以遵循以下步骤 使用 ansible-role 预配置环境 如果没有 ansible-role,则自己写 role 对于一些服务使用 docker 进行安装 如果以上都无法解决,手动安装 监控
但是最近安装 Confluence ,发现官方和网上的安装介绍都比较“落后”低效,所以有了本篇内容。...如果你还不会使用 Traefik ,那么可以翻阅历史文章,同样是一些十分钟以内的教程。...这个显然不是我们添加 Basic Auth 的用意,并且实际使用中,也不推荐直接将 Confluence 的认证接口对外。...Traefik 使用,在反向代理应用的时候,HTTP 请求中的验证信息会被删除掉。...,健康检查逻辑附带了端口和协议判断,低版本可以直接使用 Traefik 反代挂载证书的幸福快乐日子一去不复返。
作为从 Traefik 1.x 开始使用的用户,Traefik 每个大版本升级都会出现一些配置不兼容的情况,这次 3.x 的正式升级也不例外。...为了简化配置和上手的过程,我将我使用的基础配置开源在了 soulteary/traefik-v3-example,有需要可以自取。下面,让我们来了解 Traefik 3 正式版的使用。...如果你是 Linux 操作系统,可以参考《在笔记本上搭建高性价比的 Linux 学习环境:基础篇》中的“更简单的 Docker 安装”来完成环境准备。...准备 Traefik Docker 专用网络在完成 Docker 的安装后,我们执行代码目录的脚本文件,就能够自动创建 Traefik 运行所需要的虚拟网络了:bash scripts/prepare-network.sh...如果你使用的是自签名证书,我们可以通过信任自签名证书,来解决浏览器中展示的“小红锁”,在不泄漏自签名证书的前提下,同样能够保证安全的访问,以及 HTTP2/3 请求特性。
作为从 Traefik 1.x 开始使用的用户,Traefik 每个大版本升级都会出现一些配置不兼容的情况,这次 3.x 的正式升级也不例外。...为了简化配置和上手的过程,我将我使用的基础配置开源在了 soulteary/traefik-v3-example[4],有需要可以自取。 下面,让我们来了解 Traefik 3 正式版的使用。...•如果你是 Linux 操作系统,可以参考《在笔记本上搭建高性价比的 Linux 学习环境:基础篇[7]》中的“更简单的 Docker 安装”来完成环境准备。...准备 Traefik Docker 专用网络 在完成 Docker 的安装后,我们执行代码目录的脚本文件,就能够自动创建 Traefik 运行所需要的虚拟网络了: bash scripts/prepare-network.sh...信任自签名的 HTTPS 证书后,锁子就变绿了 如果你使用的是自签名证书,我们可以通过信任自签名证书,来解决浏览器中展示的“小红锁”,在不泄漏自签名证书的前提下,同样能够保证安全的访问,以及 HTTP2
其实,基于容器云生态体系,从本质上来讲,Helm 思想的引入,主要体现在:“关注分离”,在 DevOps 理念中,使得运维与开发职责进一步拆分。...Helm 可以安装本地或者远程的 Chart,当 Chart 安装到 Kubernetes 中后就会创建一个 Release,每次更新该 Chart 的配置并执行 Helm upgrade, Release...有两种方式可以为模板提供值: 1、在 Chart 中创建一个包含可供引用的默认值的 values.yaml 文件。...,其工作流如下示意图所示: 在 Helm V2 时, 早期的Kubernetes 没有基于角色的访问控制(RBAC)的概念,因此,Helm 不得不自己控制谁、以及在哪里能够安装应用。...包含应用信息的 Secrets 存储在应用安装的 Namespace 中。因此,基于不同的 Namespace ,应用可以具有相同的名字。
可以通过 https://raspberry.west-beta.ts.net 访问且浏览器显示安全的绿锁标志。 默认情况下,Tailscale 节点之间的 (4 层)连接通过端到端加密来保护。...Nomad+Traefik+Tailscale 集成具体方案 •Tailscale 在多个相同或不同区域 Linux Node 上通过软件源安装;通过 systemd 启动;•Nomad 安装在这些 Linux...版本 ≥ 3.0 Beta 1 安装并运行 Tailscale 在每台机器上,运行以下命令安装: curl -fsSL https://tailscale.com/install.sh | sh 更多安装方式...在开发模式下运行时,默认为环回接口。不处于开发模式时,将使用连接到默认路由的接口。调度程序在为任务分配端口时从这些指纹 IP 地址中进行选择。...效果如下: 在 Traefik Dashboard 上展示如下: Traefik Dashboard - hashicups router △ 可以看到,通过 http://firefly-sub03
领取专属 10元无门槛券
手把手带您无忧上云