免責事項:これは英文の記事「Failed to build a RHEL 9-based image using Image Baker in an air-gapped environment」の日本語訳です。
記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。
インターネットへの接続のためにHTTPプロキシが必要な環境でImage Bakerが失敗する:$ sudo -E vcf kr bake -f rhel-9.yaml --log-level DEBUG
✖ error creating ova rhel-9-amd64-v1.35.2---vmware.1-vkr.3: error creating vmdk: error creating disk image: error debootstrapping OS: error baking sysprep layer of rhel-9 image: error building final rhel state: error solving docker template: failed to solve: process "dnf install -y coreutils --allowerasing" did not complete successfully: exit code: 1
VKS 3.6.0
プロキシ設定は、ビルドプロセス中のコンテナには適用されません。
そのため、dnfコマンドやsubscription-managerコマンドを実行する際にコンテナがRed Hatサイトに接続できません。
Image Bakerはビルド中のコンテナに対してプロキシ設定を適用する機能を実装していません。
回避策: dnfとsubscription-managerにプロキシを設定したDockerイメージをビルドし、そのイメージをもとにImage Bakerを実行してください。
実行手順例
1. 以下のコマンドを実行して、Dockerホスト上でローカルレジストリを起動します:
docker run -d -p 5000:5000 --name registry registry:2
2. 以下の内容でDockerfileを作成します:
FROM registry.access.redhat.com/ubi9/ubiARG PROXY_HOST="proxy.example.com"ARG PROXY_PORT="8080"ARG PROXY_URL="http://${PROXY_HOST}:${PROXY_PORT}"RUN echo "proxy=${PROXY_URL}" >> /etc/dnf/dnf.confRUN sed -i -e "s|^proxy_hostname =.*|proxy_hostname = ${PROXY_HOST}|" \-e "s|^proxy_port =.*|proxy_port = ${PROXY_PORT}|" \/etc/rhsm/rhsm.conf
注: ご利用の環境に応じて各プロキシ設定を置き換えてください。
また、プロキシがRed Hatの以下のサイトへのアクセスを許可していることを確認してください。
cdn-ubi.redhat.com, cdn.redhat.com, subscription.rhsm.redhat.com
3. プロキシ構成済みのUBIを作成し、ローカルレジストリにプッシュします:
docker build -t localhost:5000/ubi-with-proxy .docker push localhost:5000/ubi-with-proxy
4. 以下の設定で rhel-9.yaml ファイルを作成します。spec.osSpec.image フィールドには、手順 3 で作成したイメージを指定してください:
apiVersion: imageconfiguration.vmware.com/v1alpha1kind: Imagemetadata:# name format: {os}-{os-version}-{arch}-{kubernetes-version}---{vmware-version}name: rhel-9-amd64-v1.35.2---vmware.1-vkr.3spec:osSpec:name: rhelversion: "9"image: localhost:5000/ubi-with-proxykubernetesSpec:# Reference the VKS Kubernetes distributionimage: projects.packages.broadcom.com/vsphere/iaas/kubernetes-release/1.35.2/kubernetes-distribution-image:v1.35.2_vmware.1-vkr.3# Optional: Customize Node ConfigurationdiskSize: 20Gi
5. 以下のコマンドを実行して、VKSノードイメージを作成します:
sudo -E vcf kr bake -f ./rhel-9.yaml