Skip to content

Instantly share code, notes, and snippets.

@chainhead
Last active December 25, 2019 13:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chainhead/4e5e6bfe155f5f5e428614d670c90c0b to your computer and use it in GitHub Desktop.
Save chainhead/4e5e6bfe155f5f5e428614d670c90c0b to your computer and use it in GitHub Desktop.
Using cert-manager

Introduction

cert-manager is a native Kubernetes certificate management controller. It can help with issuing certificates from a variety of sources, such as Let’s Encrypt, HashiCorp Vault, Venafi, a simple signing key pair, or self signed. For more details, see here.

Installation on Kubernetes

Documentation

kubectl create namespace cert-manager
kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v0.12.0/cert-manager.yaml

Verify with:

kubectl get pods --namespace cert-manager

Issuer and Certificate

To generate a certificate, first, an Issuer object should be created. Then, a certificate can be requested against this Issuer. The Issuer object is scoped at a namespace; therefore, the YAML below first creates a namespace. Save the below YAML as issuer.yaml and create the objects - Issuer and Certificate with kubectl apply -f issuer.yaml.

apiVersion: v1
kind: Namespace
metadata:
  name: cert-manager-test
---
apiVersion: cert-manager.io/v1alpha2
kind: Issuer
metadata:
  name: test-selfsigned
  namespace: cert-manager-test
spec:
  selfSigned: {}
---
apiVersion: cert-manager.io/v1alpha2
kind: Certificate
metadata:
  name: selfsigned-cert
  namespace: cert-manager-test
spec:
  commonName: example.com
  secretName: selfsigned-cert-tls
  issuerRef:
    name: test-selfsigned

Extract CA and certificate

kubectl get secret/selfsigned-cert-tls -n cert-manager-test -o jsonpath='{ .data.ca\.crt }'
kubectl get secret/selfsigned-cert-tls -n cert-manager-test -o jsonpath='{ .data.tls\.crt }'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment