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-439657

thxmike's questions

Martin Hope
thxmike
Asked: 2021-09-21 05:43:43 +0800 CST

在 AKS 上使用 Helm 的 Kubernetes NGINX 入口控制器失败

  • 0

设置 K8 入口控制器时,此处记录

我无法通过“创建入口控制器”步骤在 Helm 命令步骤并将命令置于调试模式期间,我看到其中一个步骤超时:

预安装失败:等待条件超时

查看K8 POD日志后发现K8系统因为auth错误无法连接registry。出于安全原因,以下输出已被修改,但显示错误

Failed to pull image "myregistry.azurecr.io/jettech/kube-webhook-certgen:v1.5.1@sha256:...90bd8068": [rpc error: code = NotFound desc = failed to pull and unpack image "....azurecr.io/jettech/kube-webhook-certgen@sha256:....9b9e90bd8068": failed to resolve reference "myregistry.azurecr.io/jettech/kube-webhook-certgen@sha256:...190b1dcbcb9b9e90bd8068": ....azurecr.io/jettech/kube-webhook-certgen@sha256:...9b9e90bd8068: not found, rpc error: code = Unknown desc = failed to pull and unpack image "myregistry.azurecr.io/jettech/kube-webhook-certgen@sha256:...dcbcb9b9e90bd8068": failed to resolve reference "myregistry.azurecr.io/jettech/kube-webhook-certgen@sha256:...b9b9e90bd8068": failed to authorize: failed to fetch anonymous token: unexpected status: 401 Unauthorized]

我已经根据“az acr import”命令验证了图像位于容器注册表中,并且如果我使用“kubectl”进行标准K8部署,k8能够连接到acr。我还使用以下命令验证了集群和注册表之间的连接,它按预期工作:

az aks check-acr -n <cluster> -g <rg>  --acr <acr>

此故障仅在使用 helm 命令时发生。

编辑

在研究了更多之后,我发现了以下文章

https://stackoverflow.com/questions/68949434/installing-nginx-ingress-controller-into-aks-cluster-cant-pull-image-from-azu

看来摘要有问题。我在 helm 命令中添加/替换了以下内容:

--set controller.image.digest="sha256:e9fb216ace49dfa4a5983b183067e97496e7a8b307d2093f4278cd550c303899" \
--set controller.admissionWebhooks.patch.image.digest="sha256:950833e19ade18cd389d647efb88992a7cc077abedef343fa59e012d376d79b7" \

但是,在运行修改后的 helm 命令时,POD 处于错误状态,并出现以下错误

unknown flag: --controller-class

我尝试设置环境变量 CONTROLLER_TAG=v1.0.0,如文章中所述,但这无济于事

另一种解决方法是在命令中设置版本号:3.36.0。这是成功的,但需要降级的版本

kubernetes azure aks helm
  • 1 个回答
  • 594 Views
Martin Hope
thxmike
Asked: 2019-04-25 09:07:35 +0800 CST

Crucible Fisheye 服务器的 TLS 设置

  • 0

在过去的几天里,我们一直在尝试使用 TLS 设置来设置 Fisheye。我们已经完成了使用公司内部 CA 设置 TrustStore 并使用主机级别证书设置单独密钥库的过程。然后,我们使用排除和包含协议的 ssl 设置更新了 config.xml 文件。这是这样的:

<web-server>
 <http bind=":80"/>
 <ssl truststore="/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/cacerts"
 keystore="/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/hosts.jks" 
 keystore-password="****" 
 bind=":443" truststore-password="*****">

<proxy-info/>

<excludeProtocols>
  <protocol>SSLv1</protocol>
  <protocol>SSLv2</protocol>
  <protocol>SSLv3</protocol>
  <protocol>TLSv1</protocol>
  <protocol>TLSv1.1</protocol>
</excludeProtocols>
<includeProtocols>
  <protocol>TLSv1.2</protocol>
</includeProtocols>
</ssl>
</web-server>

经过测试,我们在浏览器中不断收到以下错误。

在此处输入图像描述

由于我们使用的是最新版本的 Chrome,我怀疑这与 Web 服务器使用的密码或密码套件有关。但是,我找不到任何关于如何为 fisheye config.xml 设置它们的文档。我发现了一些使用反向代理服务器的插件,但是,这不是我们的选择。我还找到了一篇与密钥库类型相关的文章,但这对我们没有帮助。如果有任何关于如何在 config.xml 文件中设置密码或密码套件的文档。这将对我们有很大帮助。

如果这需要直接对 apache 进行更改,我们也对此持开放态度。

最后,如果这是发布此类问题的错误论坛,请告诉我们,我们会将其移至正确的论坛。

2019 年 4 月 23 日更新:Tim Brigham,感谢您的指导,

在运行以下命令时:

openssl s_client -connect fisheyetest.us.corp:443 -tls1_2

我们收到以下输出:

CONNECTED(00000005)
140735531881416:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:/BuildRoot/Library/Caches/com.apple.xbs/Sources/libressl/libressl-22.50.3/libressl/ssl/s23_clnt.c:541:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 318 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
---

看来协商没有得到密码并且在尝试使用 SSLv3 时失败。有没有办法改变它。

更新:2019 年 4 月 25 日在昨晚和今天猛烈抨击这件事之后,我一直没能取得太大进展。这是我尝试过的: - 从 config.xml 文件中删除包含和排除的协议 - 检查密钥库的权限。- 查看日志(与 TLS 或 SSL 相关的错误或与密钥库或信任库相关的错误) - 将密钥库类型从 JKS 更改为 pkcs12,反之亦然

在后一步中,我唯一能得到的是一条略有不同的错误消息: 在此处输入图像描述

使用 openssl 命令提供了相同的确切错误。如果我删除 -tls1_2 参数,它也会这样做。

我被这个难住了。我真的很惊讶这是如此困难。任何额外的建议将不胜感激。

ssl
  • 3 个回答
  • 1020 Views
Martin Hope
thxmike
Asked: 2018-11-11 20:57:51 +0800 CST

LDAPS Microsoft Active Directory 多证书 RFC6125

  • 2

我们有一个 Microsoft Active Directory 域,其中包含大量使用 LDAP 设置的域控制器 (DC)。这些都是使用 LDAPS 设置的,并通过模板使用证书服务来设置证书,其中包含主题备用名称 (SAN) 中的域名(即 test.corp),以供 LDAPS 服务器提供服务。

由于这些是 DC,因此在每个系统的池中设置 DNS,以循环方式响应对 test.corp 的请求。

这些 DC 中的每一个在本地计算机\个人证书存储中都有多个模板和多个证书。

在测试时,使用 nodejs 模块 ldapjs 在使用域名 test.corp 发出 LDAPS 请求时,我们注意到少数服务器失败并显示以下消息:

错误 [ERR_TLS_CERT_ALTNAME_INVALID]:主机名/IP 与证书的替代名称不匹配:主机:test.corp。不在证书的 altnames 中:othername:, DNS:.test.corp

在我们调查的过程中,我们发现这些少数 LDAPS 服务器提供的证书不正确。我们使用以下命令确定了这一点

openssl s_client -connect .test.corp:636

如果您将输出的证书部分放入文件中并使用证书管理器或 certutil 等工具读取文件,您会发现证书不正确。(它没有域“test.corp”SAN)。我们还通过比较序列号来验证这一点

正如我们调查的那样,由于我们的 DC 在本地计算机\个人证书存储中具有多个证书,因此我们遇到了以下文章:

https://social.technet.microsoft.com/wiki/contents/articles/2980.ldap-over-ssl-ldaps-certificate.aspx

它建议将证书从本地计算机\个人证书存储到 Active Directory 域服务\个人存储。我们遵循了概述的步骤,但我们发现了相同的结果。

经过进一步调查,建议使用名为 ldp 或 adsiedit 的工具。然后,我们继续使用这些工具并欺骗了我们正在执行测试的本地计算机的主机文件,将域 (test.corp) 指向给我们带来麻烦的 DC 之一的 ip。重新启动以清除所有缓存后,我们测试了“ldp”和“adsiedit”工具以连接到 test.corp。这些系统没有报告任何错误。

我们发现这很奇怪,然后我们运行 openssl 命令查看它从同一系统提供的证书,我们发现它仍在提供不正确的证书。

经过进一步研究,选择 SSL 复选框时的“ldp”和“adsiedit”工具似乎不符合 RFC6125,特别是 B.3

https://www.rfc-editor.org/rfc/rfc6125#appendix-B.3

,它基本上说明证书的身份必须与请求的身份匹配,否则握手将失败。此身份验证是通过使用证书公用名 (CN) 或 SAN 完成的。

基于此,“ldp”和“adsiedit”工具似乎不符合 RFC6125 标准。

综上所述,我们首先需要修复少数提供正确证书的域控制器。我们对建议持开放态度,因为过去几个月我们一直在解决这个问题。其次,有没有办法让有问题的 MS 工具符合 RFC6125 标准?

注意:如果我把它发布到了不正确的板上(即堆栈溢出),请告诉我,我将删除并重新发布到正确的位置。

active-directory
  • 1 个回答
  • 1394 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