Kubernetes 如何让Kerberos身份验证在k8s中工作
我正在尝试通过AWX中的kerberos进行身份验证。我正在Azure Kubernetes服务中托管AWX。我们使用的KDC是ldap。当从容器本身执行时,我能够通过ping和telnet通过端口88与ldap服务器通信。我不确定我还能做些什么来测试这个,而且日志文件是空的 我已经将krb5.conf文件和krb5.keytab文件添加到Task/Web容器中。我试过使用和不使用keytab。我尝试将缓存更改为文件而不是密钥环Kubernetes 如何让Kerberos身份验证在k8s中工作,kubernetes,kerberos,azure-aks,ansible-awx,kdc,Kubernetes,Kerberos,Azure Aks,Ansible Awx,Kdc,我正在尝试通过AWX中的kerberos进行身份验证。我正在Azure Kubernetes服务中托管AWX。我们使用的KDC是ldap。当从容器本身执行时,我能够通过ping和telnet通过端口88与ldap服务器通信。我不确定我还能做些什么来测试这个,而且日志文件是空的 我已经将krb5.conf文件和krb5.keytab文件添加到Task/Web容器中。我试过使用和不使用keytab。我尝试将缓存更改为文件而不是密钥环 apiVersion: v1 kind: ConfigMap me
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
初始凭证
该错误表示您看到该错误的服务器无法联系KDC。 根据您的配置,即:ldap.mydomain.com。 您需要验证Kerberos设置是否正确配置,以及DNS设置是否正确。Kerberos检查默认记录以联系KDC。 显然,服务器的传出和传入端口也必须是可访问的
疑难解答来自正在运行的实例,因为基于有限的信息,公共Kerberos设置是我能给出的最佳建议。我认为这与k8s无关?您公开了ldap端口吗?“我们使用的KDC是ldap”>没有多大意义。LDAP是一种协议,而不是一种产品。FreeIPA或Microsoft Active Directory等产品同时提供Kerberos身份验证和LDAP授权等@Ian Clark您是否已设法解决了问题?您能否共享KDC清单文件的净化版本,包括K8S Service one。