Intro👨💻
在gcp環境下使用ansible playbook 建立k8s cluster,目前base image為centos 7,安裝方式類似elk stack,一樣先等master安裝完後產生token,接著安裝slave。
使用的CRI為containerd,CNI為calico
資料夾結構
.
├── README.md
├── create_k8s_master_instance.yaml
├── create_k8s_slave_instance.yaml
├── files
│ ├── instance
│ └── k8s
├── group_vars
│ └── all
├── inventory
│ └── k8s.cluster.host
├── inventory.instance.create.yml.example
├── k8s-setup.sh
├── roles
│ ├── instance
│ ├── k8s
│ ├── monitor
│ └── ops_agent
└── vars
├── instance
├── k8s
└── monitor
使用指南
- 設定機器資訊:複製好inventory.instance.create.yml.example後,可參考inventory裡的設定,主要設定gcp的資訊,
- 設定group_vars的env.yml,改成自己的gcp的專案以及要設定的region
- 可使用k8s-setup.sh進行一鍵安裝
sh ./k8s-setup.sh
建置流程
k8s_master -> k8s_slave
ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook -i inventory.instance.create.yml create_xxx_instance.yaml -v
安裝完後可以去master切成root確認是否有組成cluster
預計添加功能
- 添加自定義CRI與CNI
- 可選k8s版本
- 可依照base image進行相對應的安裝
Reference