mirror of https://github.com/knative/docs.git
add docs for byo certificate via domainmapping (#4104)
* add docs for byo certificate via domainmapping Signed-off-by: Fabian Lopez <lfabian@vmware.com> * fix trailing spaces Signed-off-by: Fabian Lopez <lfabian@vmware.com> * fix verification typo Signed-off-by: Fabian Lopez <lfabian@vmware.com> * fix nits Signed-off-by: Fabian Lopez <lfabian@vmware.com> * address documentation feedback Signed-off-by: Fabian Lopez <lfabian@vmware.com>
This commit is contained in:
parent
d5c7877855
commit
a0bdedc4f3
|
@ -67,6 +67,7 @@ nav:
|
||||||
- Creating a Service: developer/serving/services/creating-services.md
|
- Creating a Service: developer/serving/services/creating-services.md
|
||||||
- Configuring private Services: developer/serving/services/private-services.md
|
- Configuring private Services: developer/serving/services/private-services.md
|
||||||
- Configuring custom domains: developer/serving/services/custom-domains.md
|
- Configuring custom domains: developer/serving/services/custom-domains.md
|
||||||
|
- Using a custom TLS certificate for DomainMapping: developer/serving/services/byo-certificate.md
|
||||||
- Configure resource requests and limits: developer/serving/services/configure-requests-limits-services.md
|
- Configure resource requests and limits: developer/serving/services/configure-requests-limits-services.md
|
||||||
- Traffic management: developer/serving/traffic-management.md
|
- Traffic management: developer/serving/traffic-management.md
|
||||||
- Configuring gradual rollout of traffic to Revisions: developer/serving/rolling-out-latest-revision.md
|
- Configuring gradual rollout of traffic to Revisions: developer/serving/rolling-out-latest-revision.md
|
||||||
|
|
|
@ -0,0 +1,62 @@
|
||||||
|
# Using a custom TLS certificate for DomainMapping
|
||||||
|
|
||||||
|
{{ feature(beta="0.24") }}
|
||||||
|
|
||||||
|
By providing the reference to an existing _TLS Certificate_ you can instruct a `DomainMapping` to use that
|
||||||
|
certificate to secure the mapped service. Using this feature skips [autoTLS](../../../../serving/using-auto-tls) certificate creation.
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
- You have followed the steps from [Configuring custom domains](../custom-domains) and now have a working `DomainMapping`.
|
||||||
|
- You must have a TLS certificate from your Certificate Authority provider or self-signed.
|
||||||
|
|
||||||
|
## Procedure
|
||||||
|
|
||||||
|
1. Assuming you have obtained the `cert` and `key` files from your Certificate Authority provider or self-signed, create a plain Kubernetes [TLS Secret](https://kubernetes.io/docs/concepts/configuration/secret/#tls-secrets) by running the command:
|
||||||
|
|
||||||
|
Use kubectl to create the secret:
|
||||||
|
```bash
|
||||||
|
kubectl create secret tls <tls-secret-name> --cert=path/to/cert/file --key=path/to/key/file
|
||||||
|
```
|
||||||
|
Where `<tls-secret-name>` is the name of the secret object being created.
|
||||||
|
|
||||||
|
1. Update your `DomainMapping` YAML file to use the newly created secret as follows:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
apiVersion: serving.knative.dev/v1alpha1
|
||||||
|
kind: DomainMapping
|
||||||
|
metadata:
|
||||||
|
name: <domain-name>
|
||||||
|
namespace: <namespace>
|
||||||
|
spec:
|
||||||
|
ref:
|
||||||
|
name: <service-name>
|
||||||
|
kind: Service
|
||||||
|
apiVersion: serving.knative.dev/v1
|
||||||
|
# tls block specifies the secret to be used
|
||||||
|
tls:
|
||||||
|
secretName: <tls-secret-name>
|
||||||
|
```
|
||||||
|
Where:
|
||||||
|
|
||||||
|
- `<tls-secret-name>` is the name of the TLS secret created in the previous step.
|
||||||
|
- `<domain-name>` is the domain name that you want to map a Service to.
|
||||||
|
- `<namespace>` is the namespace that contains both the `DomainMapping` and `Service` objects.
|
||||||
|
- `<service-name>` is the name of the Service that will be mapped to the domain.
|
||||||
|
|
||||||
|
1. Verify the `DomainMapping` status:
|
||||||
|
|
||||||
|
1. Check the status by running the command:
|
||||||
|
```bash
|
||||||
|
kubectl get domainmapping <domain-name>
|
||||||
|
```
|
||||||
|
The `URL` column of the status should show the mapped domain with the scheme updated to `https`:
|
||||||
|
```
|
||||||
|
NAME URL READY REASON
|
||||||
|
<domain-name> https://<domain-name> True
|
||||||
|
```
|
||||||
|
1. If the Service is exposed publicly, verify that it is available by running:
|
||||||
|
```bash
|
||||||
|
curl https://<domain-name>
|
||||||
|
```
|
||||||
|
If the certificate is self-signed skip verification by adding the `-k` flag to the curl command.
|
Loading…
Reference in New Issue