装机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集群机器信息

环境最终配置信息如下:

主机IPnode
k8smaster192.168.56.3master
k8snode1192.168.56.4work
k8snode2192.168.56.5work

下篇

接下来我们进入下篇:
本地k8s集群搭建保姆级教程(3)-安装k8s集群

上篇

本地k8s集群搭建保姆级教程(1)-虚拟机安装

结尾

此教程结束了,谢谢阅读!

欢迎关注我的微信公众号,不定期更新,谢谢
在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐