oc-adm-ca-create-master-certs - Man Page
Create certificates and keys for a master
Synopsis
oc adm ca create-master-certs [Options]
Description
Create keys and certificates for a master
This command creates keys and certs necessary to run a secure master. It also creates keys, certificates, and configuration necessary for most related infrastructure components that are clients to the master. See the related "create-node-config" command for generating per-node config.
All files are expected or created in standard locations under the cert-dir.
openshift.local.config/master/
ca.{crt,key,serial.txt}
master.server.{crt,key}
admin.{crt,key,kubeconfig}
...
Note that the certificate authority (CA aka "signer") generated automatically is self-signed. In production usage, administrators are more likely to want to generate signed certificates separately rather than rely on a generated CA. Alternatively, start with an existing signed CA and have this command use it to generate valid certificates.
This command would usually only be used once at installation. If you need to regenerate the master server cert, DO NOT use --overwrite as this would recreate ALL certs including the CA cert, invalidating any existing infrastructure or client configuration. Instead, delete/rename the existing server cert and run the command to fill it in:
mv openshift.local.config/master/master.server.crt{,.old}
oc adm ca create-master-certs --cert-dir=... \
--master= ⟨https://internal.master.fqdn:8443⟩ \
--public-master= ⟨https://external.master.fqdn:8443⟩ \
--hostnames=external.master.fqdn,internal.master.fqdn,localhost,127.0.0.1,172.17.42.1,kubernetes.default.local
Alternatively, use the related "ca create-server-cert" command to explicitly create a certificate.
Regardless of --overwrite, the master server key/cert will be updated if --hostnames does not match the current certificate. Regardless of --overwrite, .kubeconfig files will be updated every time this command is run, so always specify --master (and if needed, --public-master). This is designed to match the behavior of "start" which rewrites certs/confs for certain configuration changes.
Options
- --cert-dir="openshift.local.config/master"
The certificate data directory.
- --expire-days=730
Validity of the certificates in days (defaults to 2 years). WARNING: extending this above default value is highly discouraged.
- --hostnames=[]
Every hostname or IP that server certs should be valid for (comma-delimited list)
- --master=" ⟨https://localhost:8443"⟩
The API server's URL.
- --overwrite=false
Overwrite all existing cert/key/config files (WARNING: includes signer/CA)
- --public-master=""
The API public facing server's URL (if applicable).
- --signer-expire-days=1825
Validity of the CA certificate in days (defaults to 5 years). WARNING: extending this above default value is highly discouraged.
- --signer-name="openshift-signer@<current_timestamp>"
The name to use for the generated signer.
Options Inherited from Parent Commands
- --allow_verification_with_non_compliant_keys=false
Allow a SignatureVerifier to use keys which are technically non-compliant with RFC6962.
- --alsologtostderr=false
log to standard error as well as files
- --application_metrics_count_limit=100
Max number of application metrics to store (per container)
- --as=""
Username to impersonate for the operation
- --as-group=[]
Group to impersonate for the operation, this flag can be repeated to specify multiple groups.
- --azure-container-registry-config=""
Path to the file containing Azure container registry configuration information.
- --boot_id_file="/proc/sys/kernel/random/boot_id"
Comma-separated list of files to check for boot-id. Use the first one that exists.
- --cache-dir="/builddir/.kube/http-cache"
Default HTTP cache directory
- --certificate-authority=""
Path to a cert file for the certificate authority
- --client-certificate=""
Path to a client certificate file for TLS
- --client-key=""
Path to a client key file for TLS
- --cloud-provider-gce-lb-src-cidrs=130.211.0.0/22,209.85.152.0/22,209.85.204.0/22,35.191.0.0/16
CIDRs opened in GCE firewall for LB traffic proxy health checks
- --cluster=""
The name of the kubeconfig cluster to use
- --container_hints="/etc/cadvisor/container_hints.json"
location of the container hints file
- --containerd="unix:///var/run/containerd.sock"
containerd endpoint
- --context=""
The name of the kubeconfig context to use
- --default-not-ready-toleration-seconds=300
Indicates the tolerationSeconds of the toleration for notReady:NoExecute that is added by default to every pod that does not already have such a toleration.
- --default-unreachable-toleration-seconds=300
Indicates the tolerationSeconds of the toleration for unreachable:NoExecute that is added by default to every pod that does not already have such a toleration.
- --docker="unix:///var/run/docker.sock"
docker endpoint
- --docker-tls=false
use TLS to connect to docker
- --docker-tls-ca="ca.pem"
path to trusted CA
- --docker-tls-cert="cert.pem"
path to client certificate
- --docker-tls-key="key.pem"
path to private key
- --docker_env_metadata_whitelist=""
a comma-separated list of environment variable keys that needs to be collected for docker containers
- --docker_only=false
Only report docker containers in addition to root stats
- --docker_root="/var/lib/docker"
DEPRECATED: docker root is read from docker info (this is a fallback, default: /var/lib/docker)
- --enable_load_reader=false
Whether to enable cpu load reader
- --event_storage_age_limit="default=24h"
Max length of time for which to store events (per type). Value is a comma separated list of key values, where the keys are event types (e.g.: creation, oom) or "default" and the value is a duration. Default is applied to all non-specified event types
- --event_storage_event_limit="default=100000"
Max number of events to store (per type). Value is a comma separated list of key values, where the keys are event types (e.g.: creation, oom) or "default" and the value is an integer. Default is applied to all non-specified event types
- --global_housekeeping_interval=0
Interval between global housekeepings
- --housekeeping_interval=0
Interval between container housekeepings
- --insecure-skip-tls-verify=false
If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure
- --kubeconfig=""
Path to the kubeconfig file to use for CLI requests.
- --log-flush-frequency=0
Maximum number of seconds between log flushes
- --log_backtrace_at=:0
when logging hits line file:N, emit a stack trace
- --log_cadvisor_usage=false
Whether to log the usage of the cAdvisor container
- --log_dir=""
If non-empty, write log files in this directory
- --logtostderr=true
log to standard error instead of files
- --machine_id_file="/etc/machine-id,/var/lib/dbus/machine-id"
Comma-separated list of files to check for machine-id. Use the first one that exists.
- --match-server-version=false
Require server version to match client version
- -n, --namespace=""
If present, the namespace scope for this CLI request
- --request-timeout="0"
The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests.
- -s, --server=""
The address and port of the Kubernetes API server
- --stderrthreshold=2
logs at or above this threshold go to stderr
- --storage_driver_buffer_duration=0
Writes in the storage driver will be buffered for this duration, and committed to the non memory backends as a single transaction
- --storage_driver_db="cadvisor"
database name
- --storage_driver_host="localhost:8086"
database host:port
- --storage_driver_password="root"
database password
- --storage_driver_secure=false
use secure connection with database
- --storage_driver_table="stats"
table name
- --storage_driver_user="root"
database username
- --token=""
Bearer token for authentication to the API server
- --user=""
The name of the kubeconfig user to use
- -v, --v=0
log level for V logs
- --version=false
Print version information and quit
- --vmodule=
comma-separated list of pattern=N settings for file-filtered logging
See Also
History
June 2016, Ported from the Kubernetes man-doc generator