airshipctl/manifests/function/ephemeral/secret.yaml

132 lines
13 KiB
YAML

apiVersion: v1
kind: Secret
metadata:
labels:
airshipit.org/ephemeral-user-data: "true"
airshipit.org/deploy-k8s: "false"
name: ephemeral-bmc-secret # replacement rules key off this name
type: Opaque
stringData:
# These substrings must be overriden via the `replacements` entrypoint and networking catalogue:
# REPLACEMENT_CP_IP, REPLACEMENT_CP_PORT, REPLACEMENT_CERT_SANS, REPLACEMENT_POD_CIDR
# TODO: add download sources to the versions catalogue
userData: |
#cloud-config
# Expect that packages are already installed in base image
package_update: false
ssh_pwauth: True
chpasswd:
list: |
root:deploY!K8s
deployer:deploY!K8s
expire: False
users:
- default
- name: deployer
gecos: deployer
ssh_pwauth: True
runcmd:
- /bin/bash -c 'kernel_libsubdir="$(ls /lib/modules | head -1)"; config_dir="/lib/modules/${kernel_libsubdir}/build"; mkdir -p "${config_dir}"; if [ -f /run/live/medium/config ] && [ ! -f "${config_dir}/.config" ]; then ln -s /run/live/medium/config "${config_dir}/.config"; fi;'
- kubeadm init --config /tmp/kubeadm.yaml
- mkdir -p /opt/metal3-dev-env/ironic/html/images
write_files:
- path: /etc/systemd/system/docker.service.d/http-proxy.conf
permissions: '0644'
owner: root:root
content: |
[Service]
Environment="HTTP_PROXY=REPLACEMENT_HTTP_PROXY"
Environment="HTTPS_PROXY=REPLACEMENT_HTTPS_PROXY"
Environment="NO_PROXY=REPLACEMENT_NO_PROXY"
- content: |
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRFNU1USXlOakE0TWpneU5Gb1hEVEk1TVRJeU16QTRNamd5TkZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTTFSClM0d3lnajNpU0JBZjlCR0JUS1p5VTFwYmdDaGQ2WTdJektaZWRoakM2K3k1ZEJpWm81ZUx6Z2tEc2gzOC9YQ1MKenFPS2V5cE5RcDN5QVlLdmJKSHg3ODZxSFZZNjg1ZDVYVDNaOHNyVVRzVDR5WmNzZHAzV3lHdDM0eXYzNi9BSQoxK1NlUFErdU5JemN6bzNEdWhXR0ZoQjk3VjZwRitFUTBlVWN5bk05c2hkL3AwWVFzWDR1ZlhxaENENVpzZnZUCnBka3UvTWkyWnVGUldUUUtNeGpqczV3Z2RBWnBsNnN0L2ZkbmZwd1Q5cC9WTjRuaXJnMEsxOURTSFFJTHVrU2MKb013bXNBeDJrZmxITWhPazg5S3FpMEloL2cyczRFYTRvWURZemt0Y2JRZ24wd0lqZ2dmdnVzM3pRbEczN2lwYQo4cVRzS2VmVGdkUjhnZkJDNUZNQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFJek9BL00xWmRGUElzd2VoWjFuemJ0VFNURG4KRHMyVnhSV0VnclFFYzNSYmV3a1NkbTlBS3MwVGR0ZHdEbnBEL2tRYkNyS2xEeFF3RWg3NFZNSFZYYkFadDdsVwpCSm90T21xdXgxYThKYklDRTljR0FHRzFvS0g5R29jWERZY0JzOTA3ckxIdStpVzFnL0xVdG5hN1dSampqZnBLCnFGelFmOGdJUHZIM09BZ3B1RVVncUx5QU8ya0VnelZwTjZwQVJxSnZVRks2TUQ0YzFmMnlxWGxwNXhrN2dFSnIKUzQ4WmF6d0RmWUVmV3Jrdld1YWdvZ1M2SktvbjVEZ0Z1ZHhINXM2Snl6R3lPVnZ0eG1TY2FvOHNxaCs3UXkybgoyLzFVcU5ZK0hlN0x4d04rYkhwYkIxNUtIMTU5ZHNuS3BRbjRORG1jSTZrVnJ3MDVJMUg5ZGRBbGF0bz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
server: https://REPLACEMENT_CP_IP:REPLACEMENT_CP_PORT
name: kubernetes
contexts:
- context:
cluster: kubernetes
user: kubernetes-admin
name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
user:
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM4akNDQWRxZ0F3SUJBZ0lJUFRieDJxT3R4MVl3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB4T1RFeU1qWXdPREk0TWpSYUZ3MHlNREV5TWpVd09ESTRNalZhTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXZGaGU5Z0JKMzBtaWpiRGoKWnU0SXlCTmd6TUFpQ0Q1RWl2bFkyUTEzVzZsa25qcmYvaXFtR0Z1c0pCUTYwSG1vcnVsMFRNTFByUXNWenU4aApxcndKVWs2OXJKUy9iQjVzbzF1WW5NamRub1F0UnVtajFHU3JPTDNNaUIrN2xkdFZwVVFQQ1hsOENlZXJ3Y2I3Ci82RTh0Y2h4VDFLeGY2c3FCUzZwK1VYSlNEYU5RdkxhY1lPam90anBmQjEzcDZKNzFJWFpTWTF3d0t2Q3VkRWMKQWJHWEpDcTI3ajBncmlRNXl3Y1RJL054NHJ2K3d1QVlzckU2bUlsZUY4OCtUazdRS2lNRlg0UnQxZHQyUFQ0TQpiKzJKR3hnMmdzcGsyN05CQTVJcWE0ZU41M2wxdjVYS2YzZTcxQzhRVWZmclBDSGRxWnRWejRiM1VkN2hDelZiClFCY2Fhd0lEQVFBQm95Y3dKVEFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFGTitFYWxMNlRqWkRpVHBQTm16VnNNem00aU16U2FPOHdkMQpWdWpKYVBFK25wVmR4d1U3WEJrNjArR2N1a1dJSnlmblMrVHc4RXNkbFBGVmEwSVNlSHBsQmxnelVjVlRIMmlwCkZzWVFaN25Iak5FMm5TeWZGVUhvUFhiTmpqUFNUb0g0Zm5NZ0dpWWxGT0N3VTdQM1ZIbWEzMGE1WVZVY3lwOFcKVHJ4emUrZGRGeWxDbUwyQUFCbVU4N3oyR3hkMVFlQ1VYNlAyYjUwMEMrYlJaL0FMdG5Cd3ZrNGdPS1BwM0FGYwpWTkJtTlp1U2lkOXVPcWladUhsSWcrQm1BS1JnaU1uWThDTmVENUxQTU0rditUQjRoSVE4NVpGUmQwZUVFYTJZCit0SkN5a0lDdGxBWWUvaFBwQnZnSWtHNnZnb0Vxb1AvQitDNHg3VnhsVWxCR250eXNBYz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBdkZoZTlnQkozMG1pamJEalp1NEl5Qk5nek1BaUNENUVpdmxZMlExM1c2bGtuanJmCi9pcW1HRnVzSkJRNjBIbW9ydWwwVE1MUHJRc1Z6dThocXJ3SlVrNjlySlMvYkI1c28xdVluTWpkbm9RdFJ1bWoKMUdTck9MM01pQis3bGR0VnBVUVBDWGw4Q2VlcndjYjcvNkU4dGNoeFQxS3hmNnNxQlM2cCtVWEpTRGFOUXZMYQpjWU9qb3RqcGZCMTNwNko3MUlYWlNZMXd3S3ZDdWRFY0FiR1hKQ3EyN2owZ3JpUTV5d2NUSS9OeDRydit3dUFZCnNyRTZtSWxlRjg4K1RrN1FLaU1GWDRSdDFkdDJQVDRNYisySkd4ZzJnc3BrMjdOQkE1SXFhNGVONTNsMXY1WEsKZjNlNzFDOFFVZmZyUENIZHFadFZ6NGIzVWQ3aEN6VmJRQmNhYXdJREFRQUJBb0lCQUZLRENIOFBHMDNWN1gvVAplWnd6TmVlcERhUkZtK011bkVxaCtEbUd1NzZOVkVZNWxyMjdvMjVTWXZTZlpEREd5NDV0T2dVUzUzWnd2OG9iCld3MTRPVUUwdThXcW1MM2VDa3Y2cWI0dUJXRVhtTnBUS3ZHMmRJaDBKZkdRclZaMmMydm1pQXZuaTk2dS9zRHkKMHAxbjNyZm9xek5NRC9UVllLQktsQzVmVTFIdHluL0p3VHZDeGF4RDNMT3ZkUzRaSVJUdEJyakdvWFR6QWZTQQo0ZnpvNGdnMDhhVitqWENsM0VibHBsd3pkSk1rUTlJYkJiWFFKdVZid2p0ZEpEQ1VLVEM5RnYvSWtkYmNITnRECndrb3c2L2J0dkExZ2diNjl0UTlMZ0NBS0dYM1NFTnF1WXZsYk1pZnI0WlFNQXlqQ2x5aXdoZ2JaRUhLTW1iU1kKd2pYc2gxa0NnWUVBOW9LaVMxY3ZpNVlFS3FaaWhPME1DZ3FCVnYzNlhLbStNZitwQmk5Q0sxRUMrNjVDUEo3MQphTzZnTlVDWCtHRDRJM2huUm1jbW00STRsY2Rkam5yK1dHMm45azd4NkRlK2FNNjJadEtabHJTYU9xMEVpeFo1Cjd2VS94dDZ5T1BBWnZPNm1zazFYZjRsUlBWMXJKYlVrZ3RuQ2U5emtpOHBVYkE2K3crR0VTMzBDZ1lFQXc1aUUKc1hpY1pMMTRUTkRBNDBEOXl4ckthK1ljZGdFNG9qd0k4ZFFEdk9JbklxWm14WUE1RFhmYURBekVWWUdDQnQ4RgpkQWdyaWdFUDFIQ0RZWXFrWm5kTHB3ZGYybWkvdnBKRk9URHBOelc3RkZHUVV2eTcwSUFBWVc2ZlZvM2NWUWFMCjRCclJHejgvZjgwWktMNGF2REhlVFVVT3AzT1BCUm5VY281blVnY0NnWUVBNnRQUkJSSmVBWXY4RmlFQVV2NTUKN0lyTFlYSjZjSkZtMUx4bWFMVFdST3RjZXlNcWlCTXBWemVTdUlmNi9TcHExMmRZZ25HN0RvTURvbk1VQmFuVwo1NmcyUytZeWZmTzBXS1VxajFMcDZ1M0t5a0NOeG0yMzVGSU8ya1RFNUlhZERpVU4rV2JDQm9WcU5abnJlelZQClBiTnhtSXI1ME0wQ2xSbUswcERmZFFVQ2dZQWJqQWwwTFRacGdiM0ZvOGptdUtxRnhsb241QnF5QyszNysxU1AKS25yMFNTMlYxYlczcngxWjVqMVJZU0x0bi9XK0hmN1lucVh6STc4ay9rdWlteklZTkVqMVZ6YUt2aUh6SndxVQp5V3l2RitRbk1tMlBJb1VaRWszN2F1Y0orNlRDWE0rcVdseUU1OTE3bEZrc3djbG1JK2ZaSGhhNFFyQXIyYjF2Ci9OcFVWUUtCZ0JNcWgwVTVpWXlGbDBvcHlnc1JGNVhhRUszT2UxeW5vc2p3OU5VZ3NQNWhraVpucWZTamhybUsKMGZjQkxJQTZnQ1VNZXovd2lkM2hCTitENUZVOFgzNzJrS2RwOUdJUHJkZ2xqR1E3WUFHMGNzOEJtWnVQZXpLZQo5cGZLK3YzZHpLM2ZnL0YyVjR3S2lzaU9EVmsvWFNhWVBETHNJZkVPeFc3WHI3R0g4eTM4Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==
owner: root:root
path: /etc/kubernetes/admin.conf
permissions: "0640"
- content: |
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRFNU1USXlOakE0TWpneU5Gb1hEVEk1TVRJeU16QTRNamd5TkZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTTFSClM0d3lnajNpU0JBZjlCR0JUS1p5VTFwYmdDaGQ2WTdJektaZWRoakM2K3k1ZEJpWm81ZUx6Z2tEc2gzOC9YQ1MKenFPS2V5cE5RcDN5QVlLdmJKSHg3ODZxSFZZNjg1ZDVYVDNaOHNyVVRzVDR5WmNzZHAzV3lHdDM0eXYzNi9BSQoxK1NlUFErdU5JemN6bzNEdWhXR0ZoQjk3VjZwRitFUTBlVWN5bk05c2hkL3AwWVFzWDR1ZlhxaENENVpzZnZUCnBka3UvTWkyWnVGUldUUUtNeGpqczV3Z2RBWnBsNnN0L2ZkbmZwd1Q5cC9WTjRuaXJnMEsxOURTSFFJTHVrU2MKb013bXNBeDJrZmxITWhPazg5S3FpMEloL2cyczRFYTRvWURZemt0Y2JRZ24wd0lqZ2dmdnVzM3pRbEczN2lwYQo4cVRzS2VmVGdkUjhnZkJDNUZNQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFJek9BL00xWmRGUElzd2VoWjFuemJ0VFNURG4KRHMyVnhSV0VnclFFYzNSYmV3a1NkbTlBS3MwVGR0ZHdEbnBEL2tRYkNyS2xEeFF3RWg3NFZNSFZYYkFadDdsVwpCSm90T21xdXgxYThKYklDRTljR0FHRzFvS0g5R29jWERZY0JzOTA3ckxIdStpVzFnL0xVdG5hN1dSampqZnBLCnFGelFmOGdJUHZIM09BZ3B1RVVncUx5QU8ya0VnelZwTjZwQVJxSnZVRks2TUQ0YzFmMnlxWGxwNXhrN2dFSnIKUzQ4WmF6d0RmWUVmV3Jrdld1YWdvZ1M2SktvbjVEZ0Z1ZHhINXM2Snl6R3lPVnZ0eG1TY2FvOHNxaCs3UXkybgoyLzFVcU5ZK0hlN0x4d04rYkhwYkIxNUtIMTU5ZHNuS3BRbjRORG1jSTZrVnJ3MDVJMUg5ZGRBbGF0bz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
encoding: base64
owner: root:root
path: /etc/kubernetes/pki/ca.crt
permissions: "0640"
- content: |
LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcFFJQkFBS0NBUUVBelZGTGpES0NQZUpJRUIvMEVZRk1wbkpUV2x1QUtGM3Bqc2pNcGw1MkdNTHI3TGwwCkdKbWpsNHZPQ1FPeUhmejljSkxPbzRwN0trMUNuZklCZ3E5c2tmSHZ6cW9kVmpyemwzbGRQZG55eXRST3hQakoKbHl4Mm5kYklhM2ZqSy9mcjhBalg1SjQ5RDY0MGpOek9qY082RllZV0VIM3RYcWtYNFJEUjVSektjejJ5RjMrbgpSaEN4Zmk1OWVxRUlQbG14KzlPbDJTNzh5TFptNFZGWk5Bb3pHT096bkNCMEJtbVhxeTM5OTJkK25CUDJuOVUzCmllS3VEUXJYME5JZEFndTZSSnlnekNhd0RIYVIrVWN5RTZUejBxcUxRaUgrRGF6Z1JyaWhnTmpPUzF4dENDZlQKQWlPQ0IrKzZ6Zk5DVWJmdUtscnlwT3dwNTlPQjFIeUI4RUxrVXdJREFRQUJBb0lCQVFDU0lPNFlGa3JFS0swSgpiUFNWRU9XeEFXVjV4ZTNzelFwUjZYQmVhSlM5QXQ1UFdaN2JjMTRQbWgxR0pTODhVTGRBeS92dVFiMXZXaFd6CnZHNSt5TVFKQzV5V0JsVmk3Z281SU5QUUZiTEwwVmRPc1pNbzJTaURKajcyM2hqOVRqTEtZRURvSWdkcmhaMDUKTkY1K1gzT3RwZ1ZHTDVvbDZVdHBrRU1UUWU2RkhYampxU0d2VkRhRnFWS25yemtVZitHcks5dXVYckxqWXpMWgo4bHpEbWd0YXhyN1pobnp4eEZMVUwzMXg0MFkwbGdzSkdTNHAwMncxTFdzL2I2bjBQKzk4TkxvUW5nS2lZdmVUCkM5dlVHT0dWWkJqNnBPTEdocWEzeWZ0Q25hbm1IRkFWTWN2WTllWW9ockFFWXlQenJPRURVR2pHUWJOUldwb24KL093RFI2T0JBb0dCQVBYUVlPM0Nhdm9Tckw5UTNZRmcrblRRWjFEYnpGYmZ4WjhYYVhWNUpDWEkyOG9ObG8wVwo0bCtMSnFHOTcxR2YwVElKeEpUcXRNU3NxSHNpdFZPOEthVHIyQ29XZWoybHZWWGhId3FSd3lhSkM1UllPR2VPCmxHY1MvM0xPejZyeE03bnJpakxUdHFKRDNjMUl1RTNwOERwNjFoTUlBYVI4WFlPNDVUNXMvWGd4QW9HQkFOWFQKVTNpNkZPYWh0ZjJQTTJBMHc0Sysyc2xVeW93VXhUQytBQmJrbUV4aGJiT3ViZ2VPbys1aFpNTjIzcGFnWWt1VgpSZ0lnQkE2Yk81RmRKMkhVRm5HcEdCMjVnOXZpd0k1ejhwZ0tsU3pGM21BT1dGWHBsWlJwT0dMbHpBbmpLS1RLCk1TQXRYS2UveU5IUjltUmFWd2hiK21QajVuTjlLcmQ0Rmd1WWx3ZkRBb0dBS1FwM2hIclhYWlZNbmt5a0R2dmcKRlN6T2N5T2ZoRW1zTnhtems5ZDcvNHIvbDBhWmdrajExcm5tNDA1UTdMSGdQWmgvNTlVZ0JVNUdldmlhaWJaNgp4WHhUQlFQbnVPODVJMk9JeVR6NDlqQWZiTThsNjdSVWRya25TVVhhU2xJbkxyMXl2M1cxb25YdVRGMzkxNVJkCmRZWVl3K2lzVFlndUhOWDhBR1kyRTZFQ2dZRUFveDdRTXUxaVBIOXBJc0kzNDFEZFJjVHJpMlBRRVFWWFdWUFoKSlozR1FaNmgzYzFYeXhRYUl5VFJoZndNMnNRSHVMbHI2dnNablRyM09uSGlOVk5pdTlyUHR2MXJoamQ1eGpMVwpBdjh2eGpRODdQS0VtU1hWSXA4U2tQL1ZwRVZUSUVQUExranN3bHdnaTFDdHN1am9ORXhXdkJXRUhONkQwK3NjCmhrUW1FNWtDZ1lFQWx6QzB5clVOSTBQMHdKQUw0S0JoM21oNDZST2V3TzIyb1FhZ0c4c1N5SjVpT0NIT1VaZDcKVnhPbmRZMVdKM2M5ZktXWmVQVXkvZEhCTUtjY2wvZXJmbkk0aHZ2bnhvejNob0Z2SDdnMHJGVU5vYVZzdlhpaQpPY2NCUURVMzNDdW5WVjRmeGNyNS8xV1NwUzZoT2ZIZDJ1NFZjNnpwQ2dTOXQ3VmFzZ1JweGJjPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
encoding: base64
owner: root:root
path: /etc/kubernetes/pki/ca.key
permissions: "0600"
- content: |
---
apiServer:
certSANs: REPLACEMENT_CERT_SANS
apiVersion: kubeadm.k8s.io/v1beta2
controllerManager: {}
dns:
type: ""
etcd: {}
kind: ClusterConfiguration
networking:
podSubnet: REPLACEMENT_POD_CIDR
scheduler: {}
---
apiVersion: kubeadm.k8s.io/v1beta2
kind: InitConfiguration
localAPIEndpoint: {}
nodeRegistration:
ignorePreflightErrors:
- NumCPU
- SystemVerification
taints: []
owner: root:root
path: /tmp/kubeadm.yaml
permissions: "0640"
bootcmd:
- NEED_MB=16384 # MB of storage needed for ironic images & bindmounts
- FREE_MB=$(df -m --output=avail /var/lib | tail -n 1)
- mkdir /mnt/ephemeral
# if there's enough memory-backed storage, mount an available disk
- if [ ${FREE_MB} -ge ${NEED_MB} ]; then
- mkdir -p /var/lib/images
- truncate -s ${NEED_MB}M /var/lib/images/ephemeral.img
- mkfs.ext4 /var/lib/images/ephemeral.img
- mount /var/lib/images/ephemeral.img /mnt/ephemeral
# Use vda if provided by a hypervisor
- elif [ -e /dev/vda ]; then
- mkfs.ext4 /dev/vda
- mount /dev/vda /mnt/ephemeral
# Fall back to sda
- elif [ -e /dev/sda ]; then
- mkfs.ext4 -F /dev/sda
- mount /dev/sda /mnt/ephemeral
- else
- echo "Not enough RAM to host images, and no available disks found"
- exit 1
- fi
- mkdir -p /opt/metal3-dev-env/ironic/html/images
- mkdir -p /mnt/ephemeral/opt/metal3-dev-env/ironic/html/images
- mount --bind /mnt/ephemeral/opt/metal3-dev-env/ironic/html/images /opt/metal3-dev-env/ironic/html/images
- mkdir -p /var/lib/docker /mnt/ephemeral/var/lib/docker
- mount --bind /mnt/ephemeral/var/lib/docker /var/lib/docker
- mkdir -p /var/lib/docker-engine /mnt/ephemeral/var/lib/docker-engine
- mount --bind /mnt/ephemeral/var/lib/docker-engine /var/lib/docker-engine
- mkdir -p /mnt/ephemeral/var/lib/kubelet/ /var/lib/kubelet/
- mount --bind /mnt/ephemeral/var/lib/kubelet/ /var/lib/kubelet/