Windows版 Google Cloud SDK では Kubernetes (kubectl) が動かないため、Docker コンテナ にインストールしたときの手順メモ
Dockerfile
gcloud を動作させるために Python 2.7 が必要なため、Docker Hub の公式イメージを流用して作成
# gcloud shell # FROM python:2.7 MAINTAINER takaya030 RUN apt-get update && apt-get install -y openssh-server sudo RUN mkdir /var/run/sshd RUN echo 'root:root' | chpasswd RUN sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/' /etc/ssh/sshd_config # SSH login fix. Otherwise user is kicked off after login RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd ENV NOTVISIBLE "in users profile" RUN echo "export VISIBLE=now" >> /etc/profile # create login user RUN useradd -d /home/gcp -m -s /bin/bash gcp RUN echo gcp:****gcp | chpasswd RUN echo 'gcp ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers EXPOSE 22 CMD ["/usr/sbin/sshd", "-D"]
イメージのビルド
$ docker build -t takaya030/gcloud .
コンテナの起動
$ docker run -d -it -p 2222:22 --hostname gcsh --name gcp_gcsh_1 takaya030/gcloud
コンテナへログイン
$ ssh -p 2222 gcp@192.168.99.100 ※パスワードは '****gcp'
Google Cloud SDK のインストール
$ curl https://sdk.cloud.google.com | bash
今回は /home/gcp/google-cloud-sdk/ にインストールした。
インストール後、直ちにコマンドのパスを有効にしたい場合は以下のコマンドを入力
$ source .bashrc
GCP のユーザー情報の設定
$ gcloud init
kubectl のインストール
$ gcloud components update kubectl $ which kubectl /home/gcp/google-cloud-sdk/bin/kubectl