1

저는 cfssl을 사용하여 CSR을 생성하고 있습니다. 나는이 링크를하고cfssl 및 kubernetes를 사용하여 CA 인증서 및 개인 키를 생성하는 중 오류가 발생했습니다.

[email protected]:~/bin# cat csr.yaml 
apiVersion: certificates.k8s.io/v1beta1 
kind: CertificateSigningRequest 
metadata: 
name: ambika 
spec: 
    groups: 
    - system:masters 
    request: $(cat server.csr | base64 | tr -d "\n") 
usages: 
- digital signature 
- key encipherment 
- client auth 

[email protected]:~/bin# kubectl create -f csr.yaml 
Error from server (BadRequest): error when creating "STDIN": CertificateSigningRequest in version "v1beta1" cannot be handled as a CertificateSigningRequest: [pos 684]: json: error decoding base64 binary 'LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KTUlIbE1JR01BZ0VBTUNveEZ6QVZCZ05WQkFvVERuTjVjM1JsYlRwdFlYTjBaWEp6TVE4d0RRWURWUVFERXdaaApiV0pwYTJFd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFTdXVIbWF4bpaDU1TkpHZHh1cmN1ClQ1OU9YU0hEWUQ0d1J2S055NjlMOEkwL3RxTjF3WmRMckpYdSsxSDN5ZGp2N0FMaUJoSUh6aHRMMHd6QUN4b3AKb0FBd0NWUlLb1pJemowRUF3SURTQUF3UlFJaEFOTk9xaXFDa1lSYWgxQUFoUDQ1bWNzb09QM2p4RjIvdTB6ZgpHZW9BamhEQkFpQU55MEZkSU9vREhlZDFGd3UvTWFBditmWGJxN3V6RUdCQm9zUUFSUWFYcEE9PQotLS0tLUVORCBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0K': illegal base64 data at input byte 512 

:

나는 다음 단계 따라 CSR YAML의 방울을 생성하고 다음 명령을 실행하여 apiserver로 전송에 JSON 형식

{ 
"CN": "ambika", 
"key": { 
    "algo": "ecdsa", 
    "size": 256 
}, 
"names": [ 
    { 
     "O": "system:masters" 
    } 
] 
} 

[email protected]:~/bin# cat csr.json | cfssl genkey - | cfssljson -bare server 
2017/10/25 08:28:07 [INFO] generate received request 
2017/10/25 08:28:07 [INFO] received CSR 
2017/10/25 08:28:07 [INFO] generating key: ecdsa-256 
2017/10/25 08:28:07 [INFO] encoded CSR 

아래에 있습니다 Manage TLS Certificates in a Cluster

답변

1

yaml 파일에서 실행 중이므로, based64 en을 포함해야합니다. yaml 파일의 값을 int로 코딩합니다. $(cat server.csr | base64 | tr -d "\n")

예제 페이지에서는 쉘에서 직접 실행하고 있습니다.

cat server.csr | base64 | tr -d '\n' > ocat server.csr | base64 | tr -d '\n' > o 이렇게 인코딩하고 작동시킬 yaml 파일에 값을 포함 시키십시오.

apiVersion: certificates.k8s.io/v1beta1 
kind: CertificateSigningRequest 
metadata: 
    name: ambika 
spec: 
    groups: 
    - system:masters 
    request: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KTUlIbU1JR01BZ0VBTUNveEZ6QVZCZ05WQkFvVERuTjVjM1JsYlRwdFlYTjBaWEp6TVE4d0RRWURWUVFERXdaaApiV0pwYTJFd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFTVWVLYmdpKzZHVHlhQlhDdk40S29SClRqMmFmRlUvVVZXV1Z5WHhJSnlMczhraE5pZDlRQnp0bzZHcDZESnYwTDdST1JuZnNXR2M2N0VVeXUzdU5LZ00Kb0FBd0NnWUlLb1pJemowRUF3SURTUUF3UmdJaEFJekkxOWxuR3ZueG1la1JyM28vSDI1ZWYyVklOWURlMkJZRQpaZUJiaHN1c0FpRUEyRXNWUE0xV2huZUMyMVFEL3ZIbXNnVFZqWWdVcHRPU3dSQ2lHSWZQekhjPQotLS0tLUVORCBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0K 
    usages: 
    - digital signature 
    - key encipherment 
    - server auth