基本上,我已经使用提供的 Helm Chart 存储库prometheus-community从kube-prometheus-stack安装了 Prometheus-Grafana
# helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
# helm install kube-prometheus-stack prometheus-community/kube-prometheus-stack
Run Code Online (Sandbox Code Playgroud)
他们工作得很好。
但我现在面临的问题是将Thanos与现有的kube-prometheus-stack集成。
我从Bitnami Helm Chart 仓库安装了 Thanos
# helm repo add bitnami https://charts.bitnami.com/bitnami
# helm install thanos bitnami/thanos
Run Code Online (Sandbox Code Playgroud)
我可以加载 Thanos 查询前端 GUI,但那里没有显示任何指标。
我现在正在努力让它正常工作。是因为来自完全不同的 Helm Chart 的 Thanos 和来自另一个 Helm Chart 的 Prometheus-operator-grafana 堆栈吗?
我在 AWS 上的 Kubernetes 集群是使用 Kops 创建的。而且,我使用 Gitlab pipeline 和 helm 将应用程序部署到集群。
我正在编写 bash 脚本。我遇到的问题是如何一次接受来自用户的多个输入。
具体来说,当脚本要求输入时,用户必须能够输入多个域名。
示例,脚本运行部分:
Enter the domain names :
Run Code Online (Sandbox Code Playgroud)
并且用户必须能够通过手动输入每个域名来逐行输入域名,或者他/她只需从某处复制域名列表并能够将其粘贴到脚本输入中,如下所示:
domain1.com
domain2.com
domain3.com
domain4.com
Run Code Online (Sandbox Code Playgroud)
是否可以?。
我在线找到了在rabbitmq上添加/创建新用户的步骤,示例文档
但我的内部团队有一个特殊要求,允许用户仅访问虚拟主机下的某些特定服务/队列/
现在,我创建的用户可以访问虚拟主机/下的所有队列
假设,如果我们需要更改它们的权限以仅访问虚拟主机 / 下的特定队列/服务(例如 cart-order1、cart-order2、cart-order3),我们该怎么做?
基本上,我试图将列表中的值作为键值对附加到新字典中。我想要特定格式和顺序的键名称。
#!/usr/bin/env python3
ipv4_list = ["192.168.1.2", "192.168.1.3", "192.168.1.4"]
ipv4_dic = {}
ipv4_len = len(ipv4_list)
i = 1
for val in range(len(ipv4_list)):
ipv4_dic[i] = ipv4_list[val]
i+=1
print(ipv4_dic)
Run Code Online (Sandbox Code Playgroud)
电流输出:
{1: '192.168.1.2', 2: '192.168.1.3', 3: '192.168.1.4'}
Run Code Online (Sandbox Code Playgroud)
上面的内容很好,但我想将键名称更改为 IP1、IP2 等。
我怎样才能做到这一点ipv4_dic[i] = ipv4_list[key]
我尝试过类似的方法ipv4_dic["IP"+i]但不起作用。
ipv4_dic["IP"+i] = ipv4_list[val]
TypeError: can only concatenate str (not "int") to str
Run Code Online (Sandbox Code Playgroud)
预期的字典输出如下:
{IP1: '192.168.1.2', IP2: '192.168.1.3', IP3: '192.168.1.4'}
Run Code Online (Sandbox Code Playgroud) 我正在尝试将本地存在的源文件复制到使用 docker ARG 命令动态传递的目标路径。
示例 dockerfile 是:
$ cat mydockerfile
FROM debian:latest
RUN apt update
ENV app_env='prod'
ARG src_app_dir
ARG dest_app_dir
RUN echo ${src_app_dir}
RUN echo ${dest_app_dir}
RUN mkdir /root/${dest_app_dir}
COPY ${src_app_dir}/file.txt /root/${dest_app_dir}/filenew.txt
WORKDIR /
CMD ["bash"]
Run Code Online (Sandbox Code Playgroud)
我正在尝试传递构建参数dest_app_dir="server_app_dir"并期望构建过程创建容器路径/root/server_app_dir/
源文件夹已存在于我的本地计算机上,并且存在 docker-build 上下文。
$ ls -d local_app_dir/
local_app_dir/
$ ls local_app_dir/
file.txt
Run Code Online (Sandbox Code Playgroud)
但我的目标路径出现以下错误:
$ docker image build --build-arg src_app_dir="local_app_dir" dest_app_dir="server_app_dir" --tag arg_env:1.0 --file mydockerfile
unable to prepare context: path "dest_app_dir=server_app_dir" not found
Run Code Online (Sandbox Code Playgroud)
它不是这样工作的还是我在这里错过了 Docker build ARG 和 COPY 命令的正确概念/用法? …
我试图制作一个小脚本来检查备份驱动器是否正常以及它的磁盘使用情况详细信息,并将其作为活动检查服务器添加到nagios中.一旦我写了一个,我就会得到一些我无法纠正的未知错误.
脚本是:
#!/bin/sh
BACKUP_DRIVE='/backup'
if [[ "$( grep $BACKUP_DRIVE /etc/fstab | awk '{print $2}')" -ne "0" ]]; then
if [[ "$( df -h | grep $BACKUP_DRIVE | awk '{print $6}')" -ne "0" ]]; then
if [[ "$( df -h|grep backup|awk '{print $5}' | cut -d "%" -f1)" -ge "95" ]]; then
echo "CRITICAL: Backup Drive usage exceeded 95%"
fi
else
echo "CRITICAL: Backup Drive not mounted"
fi
else
echo "CRITICAL: Backup Drive not added in fstab"
fi
Run Code Online (Sandbox Code Playgroud)
错误是:
# sh …Run Code Online (Sandbox Code Playgroud) 我使用 Terraform 代码创建了一个 ec2 实例并添加了一个标签。但我还想添加一个默认实例名称,以显示在下面屏幕截图所示的字段中。
我如何使用 Terraform 做到这一点?
现在,我尝试了default标签的论证,但似乎不起作用。我发现很难从文档中弄清楚。
我目前用来创建它的代码:
resource "aws_instance" "webserver" {
ami = "ami-09a41e26df464c548"
instance_type = "t2.micro"
tags = {
default = "my-ec2-instance"
"Terraform" = "Yes"
}
}
Run Code Online (Sandbox Code Playgroud) bash ×2
linux ×2
amazon-ec2 ×1
awk ×1
bitnami ×1
docker ×1
docker-build ×1
dockerfile ×1
helm3 ×1
kubernetes ×1
python ×1
python-3.x ×1
rabbitmq ×1
rabbitmqctl ×1
sed ×1
shell ×1
terraform ×1
thanos ×1
unix ×1