Day11,看法讲完後该安装了

目前Kubernetes的安装方式有很多种可以参考CNCF Landscape中的certified installer

也可以参考高塔(kelseyhightower)大神的kubernetes the hardway,透过binary安装有助於熟悉各个元件。

也可以用官方文件教学所使用的kubeadm,kubeadm早在1.13版本时就已经GA了,现下很多installer也都是基於kubeadm做延伸布署。

我自己是认为没有谁优谁劣、只有适与不适的评估。

我这次的lab则是选用kubespray安装

wget https://github.com/kubernetes-sigs/kubespray/archive/refs/tags/v2.16.0.tar.gz
tar -xvf v2.16.0.tar.gz
cd kubespray-2.16.0/
## 根据步骤

sudo pip3 install -r requirements.txt

cp -rfp inventory/sample inventory/ithomelab

declare -a IPS=(192.168.1.231 192.168.1.232 192.168.1.233 192.168.1.234 192.168.1.235)

CONFIG_FILE=inventory/ithomelab/hosts.yml python3 contrib/inventory_builder/inventory.py ${IPS[@]}

修改下列的档案:

  • inventory\ithomelab\hosts.yml
  • inventory\ithomelab\group_vars\etcd.yml
  • inventory\ithomelab\group_vars\k8s_cluster\k8s_cluster.yml
  • inventory\ithomelab\group_vars\k8s_cluster\addons.yml
  • inventory\ithomelab\group_vars\k8s_cluster\k8s-net-calico.yml

调整的内容就不细讲了,大家思考自己想做啥就好

先用我的笔电对每台机器设定non-password login

ssh-keygen
##user皆相同(包含笔电)
ssh-copy-id 192.168.1.231
ssh-copy-id 192.168.1.232
ssh-copy-id 192.168.1.233
ssh-copy-id 192.168.1.234
ssh-copy-id 192.168.1.235

执行playbook

ansible-playbook -i inventory/ithomelab/hosts.yml  --become --become-user=root cluster.yml -K

执行完成的画面(如果顺的话应该不会太久,但我的过程中家里网路不太稳定花了比较多的时间再拉取外部的image上甚至fail需要retry)

布署的过程与完成後可以看到使用VMWare的机器记忆体使用的如预期一般。(VM分别是4Gx4+8Gx1)

布署完成後需要去安装Kubectl,并从master上复制admin.conf放置於要使用kubectl的机器上,/home/user/.kube/config,然後记得修改Master的IP。(後续也可以改用service account token的方式产出kubeconfig)

之後先设定一下kubectl於bash的auto completed

source <(kubectl completion bash) 
echo "source <(kubectl completion bash)" >> ~/.bashrc 

最後检查一下节点

看一下布署完的所有Pod

检查一下metrics server addons是否正常

闲聊

原本想试看看在社群中呼声很高的CRI-O,但遇到了些问题一直失败,然後网路又一直断很不开心,只好先放着了。今天是打完疫苗的隔天,虽然没有像被车撞过这麽夸张,不过仍处在无力的状态。

然後听说晚上台风有可能会停电,赶紧上来PO文,结束这一天。


<<:  [Angular] Day11. Attribute, class, and style bindings and Two-way binding

>>:  Day01 - 随意玩之 Spec 相关测试

[神经机器翻译理论与实作] 你只需要专注力(II): 建立更专注的seq2seq模型

前言 注意力机制让预测目标单词之前比较其与所有来源单词(在翻译任务中精确地来说是词向量)之间的语意关...

DAY24:Broadcast receiver之简介

今天要来介绍广播接收程序,先从Broadcast receiver的运作机制,它的运作机制包含:送出...

亿品锅 - 台中高工店 $130元也可以吃到饱

我今天选的是龙骨汤底+羊肉 (白饭是无限量供应的,淋上猪油,不小心就吃掉2碗了) 吃到饱这系列,三不...

部署网站with Heroku - Application Error

估狗了一下,百百种原因会导致Application Error,为了寻找问题来源,依照画面指示在T...

[Day 08] Sass - Nesting

Nest CSS with Sass 在Sass中,可以将CSS一层一层的包起来,不但简单直觉能直接...