Skip to content

Latest commit

 

History

History
127 lines (84 loc) · 3.16 KB

setup-k8s-other.md

File metadata and controls

127 lines (84 loc) · 3.16 KB

Kubernetes クラスタ構築(4)

2022 年 8 月時点

コントロールプレーンノード以外のマシンからのクラスター操作

1 Linux へ kubectl をインストールする

2 つの方法があります

  • curl を使用して Linux へ 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"

kubectl バイナリを実行可能にする

chmod +x ./kubectl

バイナリを PATH の中に移動する

sudo mv ./kubectl /usr/local/bin/kubectl
  • ネイティブなパッケージマネージャーを使用してインストール
sudo apt-get update && sudo apt-get install -y apt-transport-https gnupg2
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubectl

2 kubectl の自動補完を有効にする

こちらを見てください

3 kubeconfig ファイルをコピペする

コントロールプレーンの~/.kube/configをコピーし、コピー先の~/.kube/configにペーストする

4 エイリアス

.bashrcに追加

alias k=kubectl
complete -F __start_kubectl k

Node の停止/復旧

これが正しいのかは分かりません

ノード上で実行している全ての Pod を退避させる

kubectl drain <node name> --ignore-daemonsets --force --delete-emptydir-data

Pod の状態を確認

kubectl get pods -A -o wide

ノードへの新しいポッドのスケジューリングを再開

kubectl uncordon <node name>

メトリクスサーバーのインストール

メトリクスサーバーをデプロイ

curl -O https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

Deployment の args に追加(最善の方法ではありません)

spec:
      containers:
      - args:
        - --cert-dir=/tmp
        - --secure-port=4443
        - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
        - --kubelet-use-node-status-port
        - --metric-resolution=15s
        - --kubelet-insecure-tls   <- 追加
kubectl appply -f components.yaml

参考