Skip to content

kubeadmでk8sクラスタデプロイするAnsible Playbook

Notifications You must be signed in to change notification settings

zaki-lknr/initialize-kubeadm-ansible

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

initialize-kubeadm-ansible

CentOS7でkubeadm initを実行するために必要なmaster/workerノードの準備と構築を行うplaybook

  • firewalld: 有効 (現verのCalicoはfirewalldを無効にするよう明記してある)
  • CNIはCalicoまたはFlannel使用前提(firewalld設定は自動)
  • firewalldを無効化する場合はinventoryに設定

参考: [Kubernetes] kubeadmを使ってCentOSへk8sクラスタをデプロイしてみた

usage

playbookは以下の通り

playbook 機能
playbooks/playbook.yaml 以下全て実行
playbooks/auth_settings.yaml sudoers/ssh鍵設定
playbooks/preparing_hosts.yaml ホストの事前設定・CRI、kubeadm/kubectl/kubeletのインストール
playbooks/exec_kubeadm_init.yaml kubeadm initをmasterノード上で実行
playbooks/deploy_cni.yaml CNIのインストール(現在はCalico or Flannel指定可)
playbooks/add_master_node.yaml masterノードの追加(kubeadm join)
playbooks/add_worker_node.yaml workerノードの追加(kubeadm join)

OSインストール後にこのplaybooks/playbook.yamlを実行すればk8sクラスタがデプロイされる。

$ ansible-playbook -i inventory.ini playbooks/playbook.yaml -kK

パスワード無しでsudoする設定や、ssh鍵設定前の場合は、-Kおよび-kを付与して実行する。

inventory

node

[master]または[worker]ホストグループにそれぞれ定義する。
現状ansible_hostによるIPアドレスの指定必須。

変数

変数名 意味
cluster_name クラスター名 (kubectl config get-clustersなどの表示)
controlplane_endpoint HA構成の場合にコントロールプレーン用のLBのエンドポイント
use_cri 使用CRI (dockerまたはcontainerdを指定)
use_cni_plugin 使用CNI (calicoまたはflannelを指定)
kube_version Kubernetesバージョンを指定(1.19最新であれば1.19.*まで指定)

About

kubeadmでk8sクラスタデプロイするAnsible Playbook

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages