Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kubernetesクラスタ構築を例に既存の作業をAnsible化するポイント / initi...

Kubernetesクラスタ構築を例に既存の作業をAnsible化するポイント / initialize kubeadm by ansible

zaki-lknr

June 23, 2020
Tweet

More Decks by zaki-lknr

Other Decks in Technology

Transcript

  1. 自己紹介 Twitter: zaki_hmkc Qiita / GitHub: zaki-lknr Ansible Night Online

    2020.06 #ansiblejp 2 好きなもの→ お仕事→ 趣味→
  2. ▹ Kubernetes環境がいつでも構築できる ▹ Ansibleによる自動化の素振りに手ごろ Ansible Night Online 2020.06 #ansiblejp 自動化してみてると…

    4 「これからAnsible始めてみたいけど自 動化するネタに丁度いいもの何かない かな?」という方にはオススメ
  3. 既存作業のAnsible化のポイント Ansible Night Online 2020.06 #ansiblejp 5 ▹ モジュール検索!!! ▸

    OS管理系のコマンド ▸ /etc以下の設定ファイル ▹ 検索の便利ツールあります ▸ usansible (Chrome拡張) nmcli /etc/fstab firewalld systemctl selinux
  4. 手作業の準備部分の自動化で使った主なモジュール ▹ yum / yum_repository ▹ systemd ▹ firewalld ▹

    modprobe / sysctl ▹ selinux ▹ その他、ファイル操作系 Ansible Night Online 2020.06 #ansiblejp 6 https://github.com/zaki-lknr/initialize-kubeadm-ansible
  5. Ansible Night Online 2020.06 #ansiblejp kubeadmを使った実際の構築作業 8 ▹ カーネル設定 ▹

    ポート設定 ▹ コンテナランタイム ▹ パッケージインストー ル(kubeadmなど) ▹ https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/
  6. Ansible Night Online 2020.06 #ansiblejp kubeadmを使った実際の構築作業 9 1. Masterノード作成 2.

    CNIインストール 3. (Masterノード追加) 4. Workerノード追加 High AvailableはMasterの 冗長構成用の設定 ▹ https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/
  7. 【参考】 kubeadm init ▹ 最低限チェックしておくと良いオプション(俺調べ) ▸ --pod-network-cidr="{{pod_network_cidr}}" ▪ Podに割り当てるネットワークアドレス帯 ▪

    CNIの設定にも影響 ▸ --control-plane-endpoint="{{controlplain_endpoint}}" ▪ 複数のmasterノードをロードバランスする場合のmasterノード のエンドポイントを指定 ▸ --upload-certs ▪ 2台目以降のmasterノードをクラスタに追加する際に証明書配 布を自動で処理させる (High Availableのページに記載) Ansible Night Online 2020.06 #ansiblejp 10
  8. 【参考】 CNI (Pod network add-on) Ansible Night Online 2020.06 #ansiblejp

    11 ▹ ノードをまたいだpod間通信等に必要 ▹ いくつかのCNIから一つをインストールする https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/creat e-cluster-kubeadm/
  9. 【参考】 Calico ▹ (v3.13~)network設定を元に自動でアドレス設定 ▹ Firewalld有効時はOSのポート許可設定が必要 Ansible Night Online 2020.06

    #ansiblejp 12 https://docs.projectcalico.org/getting-started/kubernetes/requirements 設定要件はCalicoのサイト