问题列表 - 第5151页

跨多个/所有 Kubernetes 命名空间删除资源类型的所有实例

我正在尝试在 Kubernetes 集群上卸载并重新安装 cert-manager。他们的卸载文档提到:

在继续之前,请确保用户创建的所有 cert-manager 资源均已删除。您可以使用以下命令检查任何现有资源:

$ kubectl get Issuers,ClusterIssuers,Certificates,CertificateRequests,Orders,Challenges --all-namespaces

该命令输出数百个资源,分布在二十几个命名空间中。

如何有效地删除它们,而不删除命名空间中的其他任何内容?

kubectl delete命令在删除所有特定类型时需要指定命名空间,如下所示:kubectl delete certificates -n example-ns,所以这在这里不好。

在指定的同时按名称删除每个循环-A也不起作用,因为我需要指定名称空间:

$ kubectl delete -A order.certmanager.k8s.io/fcfa95477bc0149dbc16c99c54faa82e-cert-1862418815
error: a resource cannot be retrieved by name across all namespaces
Run Code Online (Sandbox Code Playgroud)

这里正确的 cli 魔法是什么?

kubernetes google-kubernetes-engine cert-manager kubectl

5
推荐指数
1
解决办法
6232
查看次数

linux下如何查看/启动SQL browser服务?

我刚刚在Ubuntu 20.04下安装了MS-SQL 2019(我第一次在linux下安装这个Db)。我打开了端口 1433,并且可以通过 Windows 笔记本电脑上的 Management studio 通过服务器 IP 地址连接到它。

但是我认为服务器浏览器服务没有运行,因为即使我打开了端口 1434,我也无法浏览数据库。我还怀疑该服务可能默认被禁用。我进行了很多谷歌搜索,但似乎找不到浏览器服务的 Linux 相关说明。

如何检查浏览器服务是否正在运行?如果没有,我需要采取哪些步骤才能让它在 Ubuntu 下运行?

sql-server ubuntu-20.04

5
推荐指数
1
解决办法
1885
查看次数

什么是 TCP-over-TCP?TCP 模式下的 OpenVPN 如何避免该问题?

本文解释了为什么TCP-over-TCP 可能会造成性能灾难。

我对此问题的理解是,“外部”TCP 连接处理数据包丢失和网络拥塞,并通过增加超时(从而降低吞吐量)来相应地采取行动。然而,“内部”TCP 连接看不到这些网络状况,因为它们是由外部 TCP“固定”的。因此,“内部”TCP 继续以先前的速度发送数据包,从而破坏了“外部”TCP 连接的内部发送缓冲区。

我的问题是:

  1. 我的理解正确吗?
  2. 看起来 TCP-over-TCP 崩溃只是内部的(即,它只影响本地缓冲区),但它是否也会影响网络?它是否会导致网络更加拥塞并且是否会降低同一网络上的其他连接的性能?
  3. 基于TCP的VPN如何解决这个问题?OpenVPN 有一篇关于此的文章,但没有说明为什么这在实践中不是问题(或者是吗?)

非常感谢您的回答!

networking vpn openvpn tcp

6
推荐指数
2
解决办法
6539
查看次数

在我的 Debian 服务器上禁用 IPv6 是否安全?

我的服务器托管了 2 个不同的网站,这些网站最近在浏览器上加载速度很慢。

在网上查看了潜在原因和解决方案后,我遇到了这个线程

建议的解决方案之一是禁用我想尝试的 IPv6,但是,由于我不精通该领域,因此我首先想确保我完全了解这将做什么(这样做的后果是什么) ,如果可以,那么知道在不破坏我的服务器/网站的情况下这样做的安全方法是什么。

domain-name-system linux debian ipv6

3
推荐指数
1
解决办法
996
查看次数

虚拟机里面的ZFS?

是否有任何技术原因为什么我不应该在硬件 RAID 之上的虚拟机管理程序上的 VM 内使用 ZFS 文件系统?

架构.png

zfs debian proxmox kvm-virtualization

6
推荐指数
2
解决办法
422
查看次数

~/.config/gcloud/logs 下日志文件堆积较多

我们注意到,我们的一些 GCE 实例在 /home/deploy/.config/gcloud/logs(“deploy”是我们的应用程序进程运行的用户)下积累了大量日志文件(1.6GB)。看来保存了一个月的日志文件。每隔几秒左右就会创建一个文件。

每个文件如下所示:

2020-12-11 20:52:02,105 DEBUG    root            Loaded Command Group: ['gcloud', 'config', 'config_helper']
2020-12-11 20:52:02,107 DEBUG    root            Running [gcloud.config.config-helper] with arguments: [--format: "json", --verbosity: "none"]
2020-12-11 20:52:02,130 DEBUG    google_auth_httplib2 Making request: GET http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/xxx/?recursive=true
2020-12-11 20:52:02,137 DEBUG    google_auth_httplib2 Making request: GET http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/xxx/token
2020-12-11 20:52:02,157 INFO     root            Display format: "default json"
2020-12-11 20:52:02,159 INFO     ___FILE_ONLY___ {
  "configuration": {
    "active_configuration": "default",
    "properties": {
      "core": {
        "account": "xxx",
        "disable_usage_reporting": "True",
        "project": "xxx",
        "verbosity": "none"
      }
    }
  },
  "credential": {
    "access_token": "xxx", …
Run Code Online (Sandbox Code Playgroud)

google-cloud-platform

1
推荐指数
1
解决办法
503
查看次数

在 Nginx 中,解析器指令会自动执行哪些操作来避免错误和警告?

环境: Nginx、Node.js

我已阅读有关 Resolver 的 Nginx 文档,我了解它用于 DNS,并将其包含在我的配置中。然而我并不完全理解它在做什么或者何时以及为什么我需要它。

在下面的简化配置中,当我打开 nginx 和 node.js 服务器并在浏览器中请求页面时,一切都会按预期工作,并且不会引发任何警告或错误。我使用的 IP 地址resolver是 google 的公共 DNS 服务器。

http {

    resolver 8.8.8.8 8.8.4.4 [2001:4860:4860::8888] [2001:4860:4860::8844];

    server {

        listen 443 ssl http2;
        listen [::]:443 ssl http2;

        server_name example.com;

        ssl_stapling on;
        ssl_stapling_verify on;
        ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;

        root /srv/example/views/public;

        ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

        location / {
            proxy_pass http://127.0.0.1:8080;
        }

    }

}
Run Code Online (Sandbox Code Playgroud)

但是,当我删除resolver 8.8.8.8 8.8.4.4 [2001:4860:4860::8888] [2001:4860:4860::8844];启动服务器和请求页面时,我在 error.log 中收到警告。同时,浏览器中一切正常,不会向客户端发送错误或警告。

2020/12/11 20:04:24 [警告] 1191#1191:在请求证书状态时没有定义解析器来解析 r3.o.lencr.org,响应者:r3.o.lencr.org,证书:“/etc/让加密/live/example.com/fullchain.pem“

resolver将 Google 的 …

domain-name-system nginx internal-dns

5
推荐指数
1
解决办法
4259
查看次数

如何通过 CLI 在 Ubuntu 20.04 (systemd) 上禁用挂起

我有一台安装了 ubuntu 20.04 的笔记本电脑,用作服务器。因此我希望它永远不会暂停。

默认情况下,当盖子关闭时它会自动暂停。

因为我只能通过 ssh 访问它(并且没有安装 X),所以我需要通过 CLI 禁用它。

多个站点建议使用

sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

这确实阻止笔记本电脑在盖子关闭时暂停,但导致 systemd-logind 消耗 100% cpu 并连续记录以下内容:(每秒多次)

 systemd-logind[514]: Suspending...
 systemd-logind[514]: Unit suspend.target is masked, refusing operation.
 systemd-logind[514]: Failed to execute suspend operation: Permission denied
Run Code Online (Sandbox Code Playgroud)

谁能告诉我如何正确禁用暂停?

ubuntu suspend systemd

2
推荐指数
1
解决办法
1679
查看次数

通过 docker openvpn 容器路由主机

我是网络新手,所以我是第一次尝试。我创建了一个连接到 VPN 服务器的 openvpn docker。在 docker 容器内运行wget -q -O - https://api.myip.com可确认 docker 的网络已正确连接到 VPN 并且 IP 属于 VPN 服务器。现在我想尝试通过docker容器路由主机流量,并在主机流量使用docker的VPN连接的容器外部实现相同的结果。我不太清楚如何从 docker 主机 <-> 容器关系中做到这一点,所以我想也许我可以利用 docker 中的端口映射功能,并在 docker 中建立一个 Web 代理来处理任何 http/https要求。

因此,我在同一个 docker 中建立了鱿鱼和 openvpn 服务器并公开了端口 3128(因为这是鱿鱼正在侦听的端口)。主机上的 wget 命令变为: wget -q -O - https://api.myip.com -e use_proxy=yes -e http_proxy=localhost:12345

但测试表明流量没有通过 docker 的 VPN 连接。相反,结果显示通信是通过主机的互联网连接进行的。

我使用以下 Docker run 命令运行容器:

docker run --rm --cap-add NET_ADMIN --device /dev/net/tun --name vpn -it --sysctl net.ipv6.conf.all.disable_ipv6=0 -p 12345:3128 vpn-image
Run Code Online (Sandbox Code Playgroud)

上面的做法有错吗?通过多个 docker vpn 连接路由主机流量的最佳方法是什么?

以下资源表明这是可能的,但提供了特定于其用例的解决方案。如果有一个像 wget 或 …

networking proxy openvpn testing docker

6
推荐指数
1
解决办法
2804
查看次数

如何配置Prometheus的Alertmanager的日志级别?

我已经设置了 Prometheus 的 Alertmanager 来管理来自 Prometheus 的警报。我收到了从 Prometheus 发送到 Alertmanager 的警报,但故事到此结束。Alertmanager 永远不会将警报发送到我的电子邮件端点。

为了弄清楚警报在 Alertmanager 内部的具体位置结束其旅程,我想将日志级别从信息级别更改为调试级别,但无法弄清楚如何操作。即使现在找到日志似乎也是一个艰巨的任务,它不存在/var/log并且journalctl -u alertmanager包含的​​内容太少,以至于可能在某个地方还有另一条日志。

配置Alertmanager的手册页没有提到调试级别。我查看了源代码中提到的 log 并发现该设置应该命名为log.level. 将以下代码片段添加到配置 YAML 也没有帮助:

log:
  level: debug
Run Code Online (Sandbox Code Playgroud)

因为 Alertmanager 无法启动,无法解析其配置文件。

prometheus

4
推荐指数
1
解决办法
2万
查看次数