OC-ADM-NODE-IMAGE-CREATE(1)
π
OC ADM NODE-IMAGE(1) β the oc adm node-image create glow-up
okay so this is the manual page for oc adm node-image create, part of the OpenShift CLI User Manuals (Openshift). buckle up bestie, we're making ISOs π
β¨ NAME β¨
oc adm node-image create β create an ISO image for booting the nodes you wanna add to the target cluster π¦
πΈ SYNOPSIS πΈ
oc adm node-image create [OPTIONS]
π DESCRIPTION π
okay so picture this: you've got an existing on-prem cluster and you want more nodes in it. this command creates an ISO image from an initial configuration for a given set of nodes, to add them to an existing on-prem cluster. slay.
here's the tea π₯ β this command creates a pod in a temporary namespace on the target cluster to retrieve the required information for creating a customized ISO image. then that downloaded ISO image could be used to boot a previously selected set of nodes, and add them to the target cluster in a fully automated way. no cap, fully automated.
heads up though: the command also requires a connection to the target cluster, and a valid registry credentials to retrieve the required information from the target cluster release.
so how do you give it the config? a nodes-config.yaml config file must be created to provide the required initial configuration for the selected nodes. alternatively β for the girlies who just want to add a single node and keep it simple β it's also possible to use a set of flags to configure the host. in such case the --mac-address is the only mandatory flag, while all the others will be optional. note: any eventual configuration file present will be ignored. yeah. ignored. don't come for me, that's just what it says π
and if things go sideways? in case of a command failure a report.json file is automatically created with the error details, and additional troubleshooting information. she documents her own drama π
π OPTIONS π
--certificate-authority=""β the path to a certificate authority bundle to use when communicating with the managed container image registries. if--insecureis used, this flag will be ignored. iykyk.-c,--cpu-architecture=""β single node flag. the CPU architecture to be used to install the node. valid only whenmac-addressis defined.--dir=""β the path containing the configuration file, used also to store the generated artifacts.--hostname=""β single node flag. the hostname to be set for the node. valid only whenmac-addressis defined.--insecure=falseβ allow push and pull operations to registries to be made over HTTP.-m,--mac-address=""β single node flag. MAC address used to identify the host to apply the configuration. if specified, thenodes-config.yamlconfig file will not be used. this is the main character of single-node mode, lowkey.--network-config-path=""β single node flag. YAML file containing the NMState configuration to be applied for the node. valid only whenmac-addressis defined.-o,--output-name=""β the name of the output image.-p,--pxe=falseβ instead of an ISO, create files that can be used for PXE boot.-a,--registry-config=""β path to your registry credentials. alternatively theREGISTRY_AUTH_FILEenv variable can be also specified. defaults to${XDG_RUNTIME_DIR}/containers/auth.json,/run/containers/${UID}/auth.json,${XDG_CONFIG_HOME}/containers/auth.json,${DOCKER_CONFIG},/.docker/config.json,/.dockercfg. the order can be changed via theREGISTRY_AUTH_PREFERENCEenv variable (deprecated) to a"docker"value to prioritizes Docker credentials over Podman's.-r,--report=falseβ when set, thereport.jsonis always generated in the asset folder.--root-device-hint=""β single node flag. hint for specifying the storage location for the image root filesystem. format accepted is<hint name>:<value>..valid only whenmac-addressis defined.--skip-verification=falseβ skip verifying the integrity of the retrieved content. this is not recommended, but may be necessary when importing images from older image registries. only bypass verification if the registry is known to be trustworthy. bestie please read that twice π-k,--ssh-key-path=""β single node flag. path to the SSH key used to access the node. valid only whenmac-addressis defined.
π¦ OPTIONS INHERITED FROM PARENT COMMANDS π¦
these are the hand-me-downs, and honestly? iconic.
--as=""β username to impersonate for the operation. user could be a regular user or a service account in a namespace.--as-group=[]β group to impersonate for the operation, this flag can be repeated to specify multiple groups.--as-uid=""β UID to impersonate for the operation.--as-user-extra=[]β user extras to impersonate for the operation, this flag can be repeated to specify multiple values for the same key.--cache-dir="/homeless-shelter/.kube/cache"β default cache directory.--client-certificate=""β path to a client certificate file for TLS.--client-key=""β path to a client key file for TLS.--cluster=""β the name of the kubeconfig cluster to use.--context=""β the name of the kubeconfig context to use.--disable-compression=falseβ if true, opt-out of response compression for all requests to the server.--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.--kuberc=""β path to the kuberc file to use for preferences. this can be disabled by exportingKUBECTL_KUBERC=falsefeature gate or turning off the featureKUBERC=off.--match-server-version=falseβ require server version to match client version.-n,--namespace=""β if present, the namespace scope for this CLI request.--profile="none"β name of profile to capture. one of (none|cpu|heap|goroutine|threadcreate|block|mutex).--profile-output="profile.pprof"β name of the file to write the profile to.--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.--tls-server-name=""β server name to use for server certificate validation. if it is not provided, the hostname used to contact the server is used.--token=""β bearer token for authentication to the API server.--user=""β the name of the kubeconfig user to use.--warnings-as-errors=falseβ treat warnings received from the server as errors and exit with a non-zero exit code.
π₯ EXAMPLE π₯
# Create the ISO image and download it in the current folder
oc adm node-image create
# Use a different assets folder
oc adm node-image create --dir=/tmp/assets
# Specify a custom image name
oc adm node-image create -o=my-node.iso
# In place of an ISO, creates files that can be used for PXE boot
oc adm node-image create --pxe
# Create an ISO to add a single node without using the configuration file
oc adm node-image create --mac-address=00:d8:e7:c7:4b:bb
# Create an ISO to add a single node with a root device hint and without
# using the configuration file
oc adm node-image create --mac-address=00:d8:e7:c7:4b:bb --root-device-hint=deviceName:/dev/sda
π SEE ALSO π
β HISTORY β
June 2016, Ported from the Kubernetes man-doc generator. vintage but still ate π
and that's the whole page bestie β written up in the Openshift CLI User Manuals for Openshift, dated June 2016. go forth and boot those nodes, you absolute icon π«Άβ¨
π¦ where this page comes from
- nixpkgs unstable: openshift 4.22.0-202605222050
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms