本地k8s集群搭建保姆级教程(2)-装机Alpine
本地k8s集群搭建保姆级教程(1)-安装Alpine
·
装机Alpine
1 安装Alpine
1.1 登录
默认用户:root,无密码
1.2 输入setup-alpine,回车
1.3 设置键盘语言
输入:cn,回车
继续输入:cn, 回车
1.4 设置主机名
输入:k8smaster, 回车
1.5 初始化网卡信息
几个选项都默认回车,回车到设置密码
1.6 设置密码
密码需要输入两次
1.7 设置时区
1、输入:Asia, 回车
2、输入:Shanghai, 回车
1.8 设置安装包镜像源
选择要安装的工具:busybox
1.9 设置SSH远程登录
是否允许远程登录,这里输入:yes,回车
1.10 设置硬盘,并格式化
输入硬盘的名字,如图所示,并输入:sda,回车
选择使用的方式:sys,回车
是否要格式化硬盘:y,回车
1.11 关机
输入:poweroff,回车关机
1.12 光盘移除镜像,开机
1.13 启动查看IP信息
1.14 检查网络是否畅通
1.15 使用本机的终端登录ssh
2 设置装机依赖
2.1 设置安装包镜像源
$ vi /etc/apk/repositories
内容如下:
http://mirrors.aliyun.com/alpine/v3.16/main
http://mirrors.aliyun.com/alpine/v3.16/community
#http://mirrors.aliyun.com/alpine/edge/main
http://mirrors.aliyun.com/alpine/edge/community
http://mirrors.aliyun.com/alpine/edge/testing
2.2 设置Hosts
$ vi /etc/hosts
添加内容如下:
#### k8s ####
192.168.56.3 k8smaster
192.168.56.4 k8snode1
192.168.56.5 k8snode2
127.0.0.1 k8smaster
注意:第一行总的:k8smaster 要删掉
2.3 设置安装包脚本
2.3.1 创建文件
$ touch apk.sh
$ chmod +x apk.sh
2.3.2 添加脚本内容
参考官方文档:https://wiki.alpinelinux.org/wiki/K8s
针对官方的内容进行了调整
#!/bin/sh
set -x
#add kernel module for networking stuff
echo "br_netfilter" > /etc/modules-load.d/k8s.conf
modprobe br_netfilter
apk add cni-plugins
apk add kubelet
apk add kubeadm
apk add kubectl
apk add docker
apk add uuidgen
apk add nfs-utils
apk add containerd
apk add bash
apk add helm
apk add vim
#get rid of swap
cat /etc/fstab | grep -v swap > temp.fstab
cat temp.fstab > /etc/fstab
rm temp.fstab
swapoff -a
#Fix prometheus errors
mount --make-rshared /
echo "#!/bin/sh" > /etc/local.d/sharemetrics.start
echo "mount --make-rshared /" >> /etc/local.d/sharemetrics.start
chmod +x /etc/local.d/sharemetrics.start
rc-update add local
#Fix id error messages
uuidgen > /etc/machine-id
#Add services
#rc-update add docker
rc-update add containerd
rc-update add kubelet
#Sync time
rc-update add ntpd
/etc/init.d/ntpd start
/etc/init.d/docker start
/etc/init.d/containerd start
#fix cilium
ln -s /opt/cni/bin/cilium-cni /usr/libexec/cni/cilium-cni
#kernel stuff
echo "net.bridge.bridge-nf-call-iptables=1" >> /etc/sysctl.conf
sysctl net.bridge.bridge-nf-call-iptables=1
# set net work
sysctl -w net.ipv4.ip_forward=1
2.3.3 执行脚本
$ ./apk.sh
静默等待包安装,时间有点长,你可以喝并咖啡了!
2.4 设置容器配置
由于k8s新版本中把docker替换成了containerd,我们需要修改一下镜像源
2.4.1 修改镜像源
vi /etc/containerd/config.toml
修改后的格式
[plugins."io.containerd.grpc.v1.cri".registry]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
endpoint = ["https://这里是你阿里云镜像源的ID.mirror.aliyuncs.com", "https://registry-1.docker.io"]
2.4.2 修改sandbox
查看k8s依赖
$ kubeadm config images list
k8s.gcr.io/kube-apiserver:v1.24.1
k8s.gcr.io/kube-controller-manager:v1.24.1
k8s.gcr.io/kube-scheduler:v1.24.1
k8s.gcr.io/kube-proxy:v1.24.1
k8s.gcr.io/pause:3.7
k8s.gcr.io/etcd:3.5.3-0
k8s.gcr.io/coredns/coredns:v1.8.6
主要关注pause的版本
vi /etc/containerd/config.toml
修改 sandbox_image如下:
sandbox_image = "k8s.gcr.io/pause:3.6"
替换为
sandbox_image = "registry.cn-hangzhou.aliyuncs.com/chenby/pause:3.7"
2.4.3 环境设置完毕,关机
2.5 复制出新的node
2.5.1 复制节点
1、选择主机,然后右键复制
2、 设置MAC都重新生成
3、 选择完全复制
2.5.2 复制出多个节点
复制多节点后的状态:
3 设置node信息
3.1 无界面启动三台机器
选择机器右键,如下图:
3.2 设置host
3.2.1 设置node1节点hostname
1、node1: 192.168.56.4
$ vi /etc/hostname
k8snode1
$ vi /etc/hosts
127.0.0.1 k8smaster
# 替换为
127.0.0.1 k8snode1
2、node2: 192.168.56.4
$ vi /etc/hostname
k8snode2
$ vi /etc/hosts
127.0.0.1 k8smaster
# 替换为
127.0.0.1 k8snode1
3.2.1 重启两个node
$ reboot
4 K8S集群机器信息
环境最终配置信息如下:
主机 | IP | node |
---|---|---|
k8smaster | 192.168.56.3 | master |
k8snode1 | 192.168.56.4 | work |
k8snode2 | 192.168.56.5 | work |
下篇
接下来我们进入下篇:
本地k8s集群搭建保姆级教程(3)-安装k8s集群
上篇
结尾
此教程结束了,谢谢阅读!
欢迎关注我的微信公众号,不定期更新,谢谢
更多推荐
已为社区贡献5条内容
所有评论(0)