AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-9082

Martijn Heemels's questions

Martin Hope
Martijn Heemels
Asked: 2021-04-09 10:16:57 +0800 CST

使用 Deployment Manager 将 Workload Identity 服务帐户绑定到 GKE 服务帐户?

  • 0

我已经在我们的 GKE 集群上启用了 Workload Identity。现在我正在向 GKE 部署一个应用程序,它使用 WI 对另一个 Google 服务进行身份验证。我已经使用 Deployment Manager 创建了一个有权访问 Google 服务的 IAM 服务帐户。我还使用自己的 GKE 服务帐户将应用程序部署到集群。

最后,我需要将两种不同类型的服务帐户绑定在一起。这允许 Kubernetes 服务帐户充当 Google 服务帐户,从而允许 pod 访问云服务。

该文档使用gcloudCLI 工具添加策略绑定,如下所示:

gcloud iam service-accounts add-iam-policy-binding \
  --role roles/iam.workloadIdentityUser \
  --member "serviceAccount:PROJECT_ID.svc.id.goog[K8S_NAMESPACE/KSA_NAME]" \
  GSA_NAME@PROJECT_ID.iam.gserviceaccount.com

当然,我想通过 GCP 部署管理器(infra-as-code 和所有这些)来完成,但我无法弄清楚正确的 DM 语法!?

我通常通过gcp-types/cloudresourcemanager-v1:virtual.projects.iamMemberBinding类型进行角色绑定,就像在代码示例中一样,但我不知道如何复制上述gcloud命令,也找不到任何公共示例。请问谁能帮忙?

我认为以前actions会使用它们,但由于它们已被弃用,我宁愿不将它们用于新代码。iamMemberBinding似乎是推荐的方式。

google-cloud-platform kubernetes google-kubernetes-engine deployment-manager
  • 1 个回答
  • 154 Views
Martin Hope
Martijn Heemels
Asked: 2020-12-11 10:28:24 +0800 CST

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

  • 2

我正在尝试在我们的 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

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

kubernetes google-kubernetes-engine kubectl cert-manager
  • 1 个回答
  • 2966 Views
Martin Hope
Martijn Heemels
Asked: 2017-02-24 09:22:43 +0800 CST

在一个或多个(!)反向代理之后通过 X-Forwarded-For 检查 Varnish ACL

  • 3

我让 Varnish 在反向代理后面运行(在 localhost 上运行,用于 SSL 卸载)。代理设置 X-Forwarded-For 标头,如果标头已存在,则将其自身添加到其中。

当我进行 ACL 检查时,我当然想检查原始客户端的 IP,而不是我的代理的 IP,所以我不能使用该client.ip字段。使用stdvmod 我可以执行以下操作:

vcl 4.0;
import std;
sub vcl_recv {
    if (std.ip(regsub(req.http.X-Forwarded-For, ", 127.0.0.1$", ""), "0.0.0.0") ~ my_acl) {
        ...do stuff...
    }
}

换句话说,在运行它std.ip并将其与我的 ACL 进行比较之前,我从标头中修剪了代理的 IP (127.0.0.1)。这工作正常,除了...

当 X-Forwarded-For 标头在到达我的代理之前已经设置时,这将失败。在这种情况下,XFF 标头包含三个或更多 IP 地址。修剪最后一个仍然会留下不止一个并std.ip因此而窒息,将请求延迟几秒钟,当然也无法检查 ACL。

在我关闭代理后,我需要确保 XFF 标头仅包含一个 IP(IPv4 或 IPv6)。这应该是客户端的 IP。

例如:

X-Forwarded-For: 10.10.1.1, 10.10.2.2, 2001:a031:100a:dead:beef:1234:1234:1234, 127.0.0.1

应该成为

X-Forwarded-For: 2001:a031:100a:dead:beef:1234:1234:1234, 127.0.0.1

由于我不能信任从外部传入的任何 XFF 标头,因此我想丢弃除代理看到的客户端 IP 之外的任何内容。我的代理不支持修改 XFF 标头,所以我需要在 Varnish 中进行。

当我可以与标题交互时,Varnish 流程中的第一个点是 in vcl_recv(),此时 Varnish 已经将 添加client.ip到列表的末尾。

我希望使用正则表达式将最后两项(IPv4 或 IPv6)捕获到带编号的捕获组($1)中,并简单地将标头替换为捕获组。像这样:

vcl 4.0;
import std;
sub vcl_recv {
    set req.http.X-Forwarded-For = regsub(req.http.X-Forwarded-For, "([a-f0-9:.]+, [a-f0-9:.]+)$", "\1");
}

第三个参数(替换正则表达式匹配的字符的字符串)不起作用。生成的标头与以前完全相同,即使正则表达式仅捕获最后两个 IP 地址。

除了 XFF 标头中的最后两个 IP 地址之外,我如何丢弃其他任何内容?

varnish regex reverse-proxy x-forwarded-for
  • 1 个回答
  • 3237 Views
Martin Hope
Martijn Heemels
Asked: 2017-01-27 03:47:26 +0800 CST

如何让 GlusterFS 挂载点高可用?

  • 2

确实可以在任何块上安装 GlusterFS 卷,FUSE 客户端会自动发现其他块并连接到它们。如果初始砖失败,客户端将故障转移到其他砖之一。因此,在初始引导之后,文件系统是高度可用的。

但是,当您重新启动客户端主机并且您将其设置为引导的砖块(例如 in /etc/fstab)关闭时,客户端将根本无法连接,直到您手动将其指向另一个砖块以引导它。

在“主”砖关闭时重新启动或添加客户端的情况下,这可能是一个问题。例如,在 Amazon AWS 中,假设您在不同的可用区中有两个复制的 GlusterFS 块。当包含您的“主要”的 AZ 发生故障或失去连接时,您很有可能会在另一个 AZ 中自动扩展其他服务器以应对那里增加的负载。由于“主服务器”无法访问,因此这些服务器无法挂载文件系统,直到您将它们配置为挂载另一个砖块。

如何确保客户端(新的或重新启动的)将尝试连接到任何可用的砖?

我们使用 Puppet 来管理所有节点,包括 的内容/etc/fstab,并且使用的是 GlusterFS 3.9。

high-availability distributed-filesystems amazon-web-services glusterfs
  • 1 个回答
  • 922 Views
Martin Hope
Martijn Heemels
Asked: 2016-12-17 04:25:19 +0800 CST

如何在 Cisco ASA 上使用前缀委派 (PD) 设置 IPv6?

  • 1

我们的商业互联网提供商最近为我们的光纤连接启用了 IPv6。他们分配给我们使用 /48。太好了,我终于可以不再使用我们的 6in4 隧道了。或不?...

他们希望我们使用 PD,这很好,只是我们的 Cisco ASA 5505 似乎不支持它。事实上,我认为 ASA 仅支持 WAN 接口上的静态 IPv6 寻址。

我怎样才能得到这个工作?

对于隧道设置,我在我们的内部 ESXi 集群中设置了一个 Linux DMZ 主机来终止隧道。内部 IPv6 流量通过 ASA 到达 DMZ,由 Linux 主机插入隧道并再次通过 ASA 路由到隧道提供商。这非常难看,因为流量两次穿过 ASA 并造成混乱和脆弱的设置。

使用本机 IPv6,我希望有一种更简单的方法,即使我必须购买其他硬件。有小费吗?

networking cisco-asa ipv6 dhcpv6
  • 1 个回答
  • 848 Views
Martin Hope
Martijn Heemels
Asked: 2015-01-15 09:18:02 +0800 CST

在 Outlook 中使用共享日历按钮时,Office 365 日历的详细共享失败

  • 1

我们将本地 Exchange 2010 邮箱迁移到 Office 365,并同步了我们的 Active Directory。我是 Office 365 租户的管理员。

现在我的用户正在使用 Outlook 2010 和 2013,并尝试使用下面显示的按钮相互共享他们的日历,并提供完整的详细信息(请原谅 Outlook 2013 的荷兰语版本)。此按钮会弹出一条新邮件消息,人们可以在其中共享他们自己的议程和/或请求访问一个或多个收件人的议程。

在此处输入图像描述

给予收件人空闲/忙碌权限可以正常工作。当尝试发送消息时,任何更高级别的内容(例如“有限详细信息”或“完整详细信息”)都会失败。将出现以下窗口(同样是荷兰语):

在此处输入图像描述

此消息实质上表示策略不允许将此级别的权限分配给一个或多个收件人。

奇怪的是,通过最右边的按钮手动编辑权限工作正常。我可以毫无问题地授予用户审阅者权限。然而,我的用户已经习惯了另一种方法,我更喜欢两者都工作。

它在谈论什么政策,我在哪里改变它?我发现唯一相关的是“默认共享策略”,但这似乎专门处理与外部用户的共享!

exchange
  • 1 个回答
  • 969 Views
Martin Hope
Martijn Heemels
Asked: 2014-10-15 01:50:23 +0800 CST

减少“旋转”值后使 logrotate 删除旧日志

  • 3

我正在尝试通过将 /etc/logrotate.d/apache2 中的 'rotate 52' 减少为 'rotate 8' 来减少为 Apache 保留的日志文件的数量。通过每周轮换,这应该保留 2 个月的日志而不是一整年。

我通过 Puppet 将新配置部署到我们的十几台服务器上,并注意到它的工作方式与我预期的不同。我希望它能够消除 Apache 错误并访问超过 8 周的日志,即 9-52。相反,它保留了所有旧日志,并且根本不会创建任何超过 8 周限制的新日志!旋转 9 现已丢失,但 10-52 仍然存在。

搜索存档告诉我这是已知行为,例如Logrotate 不会删除旧日志

如何轻松摆脱旧日志?我想避免在每台服务器上手动删除它们。我还没有部署任何编排软件,所以 Puppet 必须这样做。

我的 /etc/logrotate.d/apache2 文件内容如下:

/var/log/apache2/*.log {
    weekly
    missingok
    rotate 8
    compress
    delaycompress
    notifempty
    create 644 root adm
    sharedscripts
    postrotate
        /etc/init.d/apache2 reload > /dev/null
    endscript
    prerotate
        if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
            run-parts /etc/logrotate.d/httpd-prerotate; \
        fi; \
    endscript
}
apache-2.2
  • 1 个回答
  • 6870 Views
Martin Hope
Martijn Heemels
Asked: 2012-06-27 00:43:23 +0800 CST

Cisco ASA5505 不会与 NTP 同步

  • 2

今天我注意到我的 Cisco ASA 5505 防火墙的时钟运行大约晚了 15 分钟,这让我很惊讶,因为我已经设置了 NTP 客户端。

我的两台 NTP 服务器10.10.0.1和10.10.0.2虚拟化的 Windows Server 2008 R2 域控制器,都具有正确的时间。

如下所示,ASA 知道这两个服务器,可以对它们执行 ping 操作并且似乎定期轮询它们,所以我想它可以同时访问它们。ASA 声称其时间源是 NTP,但时钟是不同步的。两个主机都未标记为已同步。

Result of the command: "ping 10.10.0.1"

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.10.0.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms


Result of the command: "sh ntp ass"

      address         ref clock     st  when  poll reach  delay  offset    disp
 ~10.10.0.1        .LOCL.            1    78  1024  377     0.5  643.69    17.0
 ~10.10.0.2        10.10.0.1         2   190  1024  377     0.9  655.91    58.4
 * master (synced), # master (unsynced), + selected, - candidate, ~ configured


Result of the command: "sh ntp ass detail"

10.10.0.1 configured, insane, invalid, stratum 1
ref ID .LOCL., time d3932559.6aa66707 (19:58:49.416 CEDT Mon Jun 25 2012)
our mode client, peer mode server, our poll intvl 1024, peer poll intvl 1024
root delay 0.00 msec, root disp 10651.84, reach 377, sync dist 10676.743
delay 0.63 msec, offset 625.3783 msec, dispersion 24.60
precision 2**6, version 3
org time d393fc14.b4a24e74 (11:15:00.705 CEDT Tue Jun 26 2012)
rcv time d393fc14.149e12ec (11:15:00.080 CEDT Tue Jun 26 2012)
xmt time d393fc14.1474f384 (11:15:00.079 CEDT Tue Jun 26 2012)
filtdelay =     0.63    0.47    0.63    0.53    0.50    0.35    0.92    0.37
filtoffset =  625.38  629.03  635.65  643.69  644.70  646.06  644.38  642.86
filterror =    15.63   31.25   46.88   54.69   58.59   60.55   61.52   62.26

10.10.0.2 configured, insane, invalid, stratum 2
ref ID 10.10.0.1, time d393fb9b.e810a061 (11:12:59.906 CEDT Tue Jun 26 2012)
our mode client, peer mode server, our poll intvl 1024, peer poll intvl 1024
root delay 31.25 msec, root disp 10756.23, reach 377, sync dist 10796.097
delay 0.53 msec, offset 640.2991 msec, dispersion 22.28
precision 2**6, version 3
org time d393fba4.b872ee34 (11:13:08.720 CEDT Tue Jun 26 2012)
rcv time d393fba4.149a40c6 (11:13:08.080 CEDT Tue Jun 26 2012)
xmt time d393fba4.14765384 (11:13:08.079 CEDT Tue Jun 26 2012)
filtdelay =     0.53    0.64    0.85    0.87    0.61    0.81    0.53    0.73
filtoffset =  640.30  642.79  649.05  655.91  648.54  644.63  634.64  570.58
filterror =    15.63   31.25   46.88   54.69   58.59   60.55   61.52   62.30


Result of the command: "sh ntp stat"

Clock is unsynchronized, stratum 16, no reference clock
nominal freq is 99.9984 Hz, actual freq is 99.9984 Hz, precision is 2**6
reference time is 00000000.00000000 (07:28:16.000 CEST Thu Feb 7 2036)
clock offset is 0.0000 msec, root delay is 0.00 msec
root dispersion is 0.00 msec, peer dispersion is 0.00 msec


Result of the command: "sh clock detail"

10:33:23.769 CEDT Tue Jun 26 2012
Time source is NTP
UTC time is: 08:33:23 UTC Tue Jun 26 2012
Summer time starts 02:00:00 CEST Sun Mar 25 2012
Summer time ends 03:00:00 CEDT Sun Oct 28 2012

我尝试了手动设置时间以及删除和添加时间服务器的基本步骤,但无济于事。

我的 ASA 的 ntp 配置很简单:

ntp server 10.10.0.1
ntp server 10.10.0.2

我是否需要启用身份验证才能使用 Windows NTP 服务器?

有什么想法吗?

networking cisco cisco-asa ntp windows-server-2008-r2
  • 2 个回答
  • 9401 Views
Martin Hope
Martijn Heemels
Asked: 2010-03-26 08:49:43 +0800 CST

Cisco ASA 为 DNS 流量记录“icmp 的常规翻译创建失败 ...”,但它可以工作

  • 3

每隔几分钟,我们的 Cisco ASA 5505 防火墙就会记录我有限的 Cisco 经验无法弄清楚的错误。

Severity Date        Time        Syslog ID Source IP  Destination IP  Description
3     Mar 25 2010 17:21:14 305006   8.8.8.8                    regular translation creation failed for icmp src inside:10.10.0.206 dst outside:8.8.8.8 (type 3, code 3)
3     Mar 25 2010 17:18:37 305006   8.8.4.4                    regular translation creation failed for icmp src inside:10.10.0.206 dst outside:8.8.4.4 (type 3, code 3)

记录的内部 IP 是我们的内部 DNS 服务器,外部 IP 是 Google 的公共 DNS 服务器,我们在本地 BIND 配置中将其用作转发器。ICMP Type 3 Code 3 的意思是“端口不可达”。

启用“检查 DNS”、“检查 ICMP”和“检查 ICMP 错误”全局服务策略,并使用默认检查映射。

我们的“外部”接口有一个固定的 IP,我们的“内部”接口位于 10.10.0.0/16 子网中。10.10.0.206 IP 是我们内部的 BIND DNS 服务器,DNS 解析良好。使用不同的 DNS 转发器(例如 OpenDNS)会产生相同的错误。

我花了几天时间试图弄清楚这一点,所以任何和所有的建议都值得赞赏!

firewall domain-name-system cisco bind cisco-asa
  • 3 个回答
  • 27157 Views
Martin Hope
Martijn Heemels
Asked: 2010-01-13 02:17:12 +0800 CST

重定向 301 失败,路径为目标

  • 0

我正在使用大量重定向 301,它们在新的网络服务器上突然失败。

在迁移站点之前,我们正在新的网络服务器上进行预生产测试,但有些站点因500 Internal Server Error而失败。数据库和文件的内容都从旧服务器镜像到新服务器,因此我们可以测试所有站点是否正常工作。

我将此问题追溯到mod_alias 的 Redirect语句,该语句在 .htaccess 中用于将访问者和搜索引擎从旧内容重定向到新页面。

显然 Apache 服务器要求目标是一个完整的 url,包括协议和主机名。

Redirect 301  /directory/  /target/                        # Not Valid
Redirect 301  /main.html   /                               # Not Valid
Redirect 301  /directory/  http://www.example.com/target/  # Valid
Redirect 301  /main.html   http://www.example.com/         # Valid

这与 Apache 2.2的Apache 文档相矛盾,该文档指出:

新的 URL 应该是一个以方案和主机名开头的绝对 URL,但也可以使用以斜杠开头的 URL 路径,在这种情况下,将添加当前服务器的方案和主机名。

当然,我确认我们在旧服务器和新服务器上都使用了 Apache 2.2。旧服务器是带有 Apache 2.2.11 的 Gentoo 机器,而新服务器是带有 Apache 2.2.3 的 RHEL 5 机器。

解决方法是将所有路径更改为完整 URL,或将语句转换为 mod_rewrite 规则,但我更喜欢记录在案的行为。

你有什么经验?

apache-2.2 redirect rhel5 500-error mod-alias
  • 3 个回答
  • 1489 Views
Martin Hope
Martijn Heemels
Asked: 2009-10-30 09:11:27 +0800 CST

Zend Guard 报告 Zend Optimizer 未安装,但它是

  • 0

我正在测试 Zend Guard 5 来编码 PHP 源代码,并且已经编码了一个工作网站。

当我在我的服务器上查看该站点时,我收到一个错误页面,显示“未安装 Zend Optimizer”,并且它需要 Optimizer 3.0 或更高版本。

我确定我已经安装了 Zend Optimizer。我们在该服务器上运行 Zend Platform,其中包括 Zend Optimizer v3.3.7。根据 phpinfo() 和 Zend 平台状态屏幕,它已安装并正在工作。Zend Guard 不知何故不同意。

知道为什么 Guard 编码文件似乎没有使用可用的优化器吗?

apache-2.2
  • 1 个回答
  • 699 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve