我有一个配置文件的EKS设置(kubernetes):
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: REDACTED
server: https://E3D13176159D2CA5C51AF0622AFE252C.yl4.us-east-1.eks.amazonaws.com
name: kubernetes
contexts:
- context:
cluster: kubernetes
user: aws
name: aws
current-context: aws
kind: Config
preferences: {}
users:
- name: aws
user:
exec:
apiVersion: client.authentication.k8s.io/v1alpha1
args:
- token
- -i
- terraform-eks-demo-green
command: aws-iam-authenticator
env: null
这里的证书权限数据是自签名的(EKS AMI附带),我正在尝试为kubernetes(artifactory)建立一个私有的docker注册表,它是https并使用内部证书。
所以在申请我的容器时,我会做以下事情:
kubectl apply --certificate-authority='internal-ca.pem' -f echo-service.yaml
失败的是:
错误:为kubernetes指定了certificate-authority-data和certificate-authority。 certificate-authority-data将覆盖。
如何设置容器以使用除docker config中定义的ca证书之外的其他ca证书?
目前,任何容器申请都失败了:
x509:由未知权限签署的证书
因为它使用以前的证书..
kubectl
证书颁发机构选项适用于客户端本身。你想要的是在容器内设置ca。我认为你可以设置几种方式(不限):
/etc/registry
目录中的容器中,让应用程序引用它。更推荐的方法是1.由于通常不建议在容器图像中加入硬件。