セットアップを自動化し、Kubernetesマスターノードのprocessessをインストールするスクリプトを作成しようとしています。 以下のコードで何が間違っているのかわかりません。目標はあまりに簡単です。ワーカーノードの情報です。Linux Shell Scritping - コマンドで変数内の変数
私のスニペットコードを共有させてください。
function create_worker()
{
echo "Generate the Kubernetes Worker Keypairs ...";
WORKER_NUMBER=3
WORKERS_FQDN=("worker1" "worker2" "worker3")
WORKERS_IP=("192.168.0.10" "192.168.0.11" "192.168.0.12")
MASTER_IP=("192.168.0.20")
K8S_SERVICE_IP=10.3.0.1
for ((i=0; i <= $WORKER_NUMBER; i++));
do
openssl genrsa -out ${WORKERS_FQDN[i]}-worker-key.pem 2048
WORKER_IP="${WORKERS_IP[i]}" openssl req -new -key "${WORKERS_FQDN[i]}"-worker-key.pem -out "${WORKERS_FQDN[i]}"-worker.csr -subj "/CN="${WORKERS_FQDN[i]}"" -config worker-openssl.cnf
WORKER_IP="${WORKERS_IP[i]}" openssl x509 -req -in "${WORKERS_FQDN[i]}"-worker.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out "${WORKERS_FQDN[i]}"-worker.pem -days 365 -extensions v3_req -extfile worker-openssl.cnf
echo ${WORKERS_IP[i]} ${WORKERS_FQDN[i]}
sleep 2;
done
echo "Done ...";
create_adminkey
}
そして、ここで出力されます:
+ WORKER_IP=
+ openssl req -new -key -worker-key.pem -out -worker.csr -subj /CN= -config worker-openssl.cnf
Error Loading request extension section v3_req
139752372545168:error:220A4076:X509 V3 routines:a2i_GENERAL_NAME:bad ip address:v3_alt.c:476:value=
139752372545168:error:22098080:X509 V3 routines:X509V3_EXT_nconf:error in extension:v3_conf.c:95:name=subjectAltName, [email protected]_names
+ WORKER_IP=
+ openssl x509 -req -in -worker.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out -worker.pem -days 365 -extensions v3_req -extfile worker-openssl.cnf
Error Loading extension section v3_req
140642872743568:error:220A4076:X509 V3 routines:a2i_GENERAL_NAME:bad ip address:v3_alt.c:476:value=
140642872743568:error:22098080:X509 V3 routines:X509V3_EXT_nconf:error in extension:v3_conf.c:95:name=subjectAltName, [email protected]_names
私は他の変数内の変数の値を読み、その変数内のコマンドを実行することはできません。
私を助けるための任意のアイデアですか?
おかげ
「他の変数の中の変数の値を読み込みますか?私はこの文脈でこれらの言葉が意味するもの、そしてそれらがあなたの質問にどのように関係しているかを理解していません。あなたはもっと明白かもしれませんか? (大きなOpenSSLコマンドラインを除外し、変数の逆参照に焦点を当てたMCVEを作成すると役立つかもしれません)。 –
どのLinuxシェルを使用していますか? – fpmurphy1
スクリプトに無駄なセミコロンがたくさんあります。シェルはCではありません。 – Jens