k3sの構築
研究室でkubernetesの構築を行う機会があり, 研究室内のサーバにUbuntu VMを3つ建ててそこに
k3sosを入れて環境の構築を行いました.
masterとworkerの構築設定は, 下記のリンクに全て書いてあるのでそちらを参照してください.
https://github.com/rancher/k3s#quick-start---install-script
k3sos基本構成
- vcpu 2
- RAM 4GB
- HDD 50GB
基本構成は, 上記のようになっていますが公式でNode数に応じたCPU, Memoryのスペックがありますのでそちらを参照にしてください. 今回はmasterノード1台, workerノード2台の計3台での構築なので10台までのスペックを参照した構成になっています.
k3sのクライアント設定
k3sを構築したのですがmasterへのアクセス方法の設定のやり方が特になく, k3sの場合だと$home/.kube/configが無かったりと少し戸惑う部分があったのでやり方を書いていきたいと思います.
手順
- クライアントとしてmasterにアクセスするVMにkubectlをインストール
公式ドキュメントを参考にkubectlのインストールを行ってください.
https://kubernetes.io/ja/docs/tasks/tools/install-kubectl
2 クライアントにコンテキスト(.kune/config)を作成
下記のQiita記事が分かりやすかったので参考にさせていただきましたm(__)m
kubectlコマンドの使い方(1.4)
#cdslというユーザを作成
sudo kubectl config set-credentials cdsl --username=cdsl --password=cdsl user "cdsl" set.
#クラスタの作成
kubectl config set-cluster cluster --insecure-skip-tls-verify=true --server=http://master:8080
#コンテキスト(context_cdsl)を作成し, ユーザ(cdsl)とクラスタを結びつける
kubectl config set-context context_cdsl --user=cdsl --cluster=cluster
.kune/config内は書き換えるので特に中身は気にしていません
3 クライアントの.kube/configの設定をmasterの設定に変更し, アクセス先のIPを指定
k3sの設定は, /etc/rancher/k3s内にありk3s.yamlの設定をクライアントの.kube/configに書き換えます.
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: <クラスタ認証のための鍵データ>
server: https://<masterのIP>:6443
name: default
contexts:
- context:
cluster: default
namespace: <使用するnamespace>
user: default
name: default
current-context: default
kind: Config
preferences: {}
ここでアクセスするmasterのIPアドレスをserver部分に記述するだけで基本的なクライアントからの接続設定は終了です. ですがアクセスするnamespaceやuserなどは適宜設定を個人で行うようにしてください.