#はじめに
30代未経験からエンジニアを目指して勉強中のYNと申します。
インフラ初学者の私ですが、Kubernetes the hard wayを進めるにあたって、インフラに関する基本的な知識を体系的に学ぶことができました。
そこで、初学者目線での学びなどを本記事にまとめておきたいと思います。
#目次
こちらをご覧ください
#Vagrantの基本
Vagrantの基本的な使い方は下記のチュートリアルを参照ください。
https://learn.hashicorp.com/tutorials/vagrant/getting-started-teardown?in=vagrant/getting-started
vagrant ssh master-1 #インスタンスに接続
exit #退出
vagrant suspend #一時停止
vagrant halt #停止
vagrant destroy #削除
vagrant up #再起動
#Vagrantを使ってクラスターのノードインスタンスをセットアップする
githubからクローンしたvagrantファイルを実行すると、下図のようなLAN設定でubuntuインスタンスを起動します。workerノードにはDockerがインストールされます。
git clone https://github.com/mmumshad/kubernetes-the-hard-way.git
cd kubernetes-the-hard-way\vagrant
vagrant up
#master-1ノードとその他ノードの間でのssh通信をする
mastetr-1ノードから他ノードへssh接続するための設定を行います。この設定だけでは、master-1から他ノードへの一方通行となります。
#master-1上でsshキーペアを作成し、/home/vagrant/.sshに保存
ssh-keygen
#公開鍵を表示。表示されたキーをどこかにメモしておく。
cat /home/vagrant/.ssh/id_rsa.pub
#master-1以外のノードに先ほどの公開鍵を登録する
vagrant ssh master-2
cat >> ~/.ssh/authorized_keys <<EOF
> ssh-rsa xxxxx vagrant@master-1 (先ほどの公開鍵を貼り付け)
> EOF
#masterノードにkubectlをインストール
2つのmasterノードにkubectlをインストールします。
現段階ではkubectlの設定がされていないので、kubectlコマンドを使うことはできません。
#ダウンロード
curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl"
#実行権限を追加
chmod +x ./kubectl
#適切なディレクトリに移動
sudo mv ./kubectl /usr/local/bin/kubectl