2

我正在尝试通过 AWX 中的 kerberos 进行身份验证。我在 Azure Kubernetes 服务中托管 AWX。我们使用的 KDC 是 ldap。从容器本身执行时,我可以通过 ping 和 telnet 通过端口 88 与 ldap 服务器通信。我不确定我还能做些什么来测试它并且日志文件是空的。

我已将 krb5.conf 文件和 krb5.keytab 文件添加到 Task/Web 容器中。我尝试过使用和不使用 keytab。我尝试将缓存更改为文件而不是密钥环。

apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ include "awx.fullname" . }}-application-config-krb5
  labels:
    app.kubernetes.io/name: {{ include "awx.name" . }}
    helm.sh/chart: {{ include "awx.chart" . }}
    app.kubernetes.io/instance: {{ .Release.Name }}
    app.kubernetes.io/managed-by: {{ .Release.Service }}
data:
  krb5.conf: |
    # Configuration snippets may be placed in this directory as well
    includedir /etc/krb5.conf.d/

    [logging]
    default = FILE:/var/log/krb5libs.log
    kdc = FILE:/var/log/krb5kdc.log
    admin_server = FILE:/var/log/kadmind.log

    [libdefaults]
    dns_lookup_realm = false
    ticket_lifetime = 24h
    renew_lifetime = 7d
    forwardable = true
    rdns = false
    default_realm = MYDOMAIN.COM
    default_ccache_name = KEYRING:persistent:%{uid}

    [realms]
    MYDOMAIN.COM = {
      kdc = ldap.mydomain.com
      admin_server = ldap.mydomain.com
    }

    [domain_realm]
    .mydomain.com = MYDOMAIN.COM
    mydomain.com = MYDOMAIN.COM

无论我尝试什么配置,我都会遇到同样的错误。好奇我做错了什么。我可以通过在 Docker 中本地运行 AWX 的 VM 上的工作 kerberos 配置来实现它,但是,我无法让它在 AKS 中工作。不确定这是特定的 AKS 还是一般的 Kubernetes。

错误:

kinit:在获取初始凭据时无法联系领域“MYDOMAIN.COM”的任何 KDC

4

1 回答 1

0

该错误表明您看到该错误的服务器无法联系 KDC。根据您的配置,即: ldap.mydomain.com 。您需要验证是否正确配置了 Kerberos 设置,并且 DNS 设置也正确。Kerberos 检查默认记录以联系 KDC。显然,服务器的传出和传入端口也必须是可访问的。

故障排除来自正在运行的实例,因为常见的 Kerberos 设置是我可以根据有限信息给出的最佳建议。

于 2020-01-20T16:56:44.083 回答