当前位置:   article > 正文

arm架构部署k8s集群_arm安装kubernetes

arm安装kubernetes

文章目录

部署centos8

Centos8 镜像支持M芯片
链接: https://pan.baidu.com/s/1P-4fDndvdwlRaw27Skw8jQ?pwd=x5kv 提取码: x5kv

打开虚拟机软件安装Centos8 系统,点击创建自定虚拟机,再点击继续
在这里插入图片描述
选择Linux,其他Linux5.x kernel 64-bit Arm
在这里插入图片描述
选择新建虚拟磁盘,点击继续
在这里插入图片描述
选择自定设置,自定义的虚拟机存储位置,进行存储。
在这里插入图片描述
在此界面可以对cpu、内存、硬盘等进行修改。点击硬盘图标,修改硬盘大小为20G,点击应用。
在这里插入图片描述
点击设置,再点击CD/DVD图标,弹出界面选中CD/DVD驱动器,选择上文所下载的centos8镜像
在这里插入图片描述
点击启动图标在这里插入图片描述
向上方向键选择install centos8 linux 8,点击回车开始安装系统
在这里插入图片描述
选择所使用的语言,点击继续
在这里插入图片描述
点击网络和主机名,配置网络
在这里插入图片描述
打开网卡开关,更改主机名并应用,完成。
在这里插入图片描述
软件选择,点击最小化安装。
在这里插入图片描述
在这里插入图片描述
选择安装目的地(可进行磁盘划分)
在这里插入图片描述
在这里插入图片描述
点击根密码,设置密码完成后,开始安装。
在这里插入图片描述
安装完后重启系统即可,编辑网络配置文件

cd /etc/sysconfig/network-scripts/
  • 1

部署k8s

修改hostname

hostnamectl set-hostname master
hostnamectl set-hostname node1
hostnamectl set-hostname node2
  • 1
  • 2
  • 3

在每个节点上添加 hosts 信息

cat <<EOF >> /etc/hosts
172.16.202.100 master 
172.16.202.101 node1
172.16.202.102 node2
EOF
  • 1
  • 2
  • 3
  • 4
  • 5

不要禁用SELINUX,否则服务器无法启动
禁用防火墙

systemctl stop firewalld && systemctl disable firewalld
  • 1

关闭 swap 分区,每台服务器都需要关闭

swapoff -a  # 临时关闭,主机重启后k8s无法自动重启,需要重新关闭swap
vim /etc/fstab 	# 永久关闭
#注释下面这行,或使用 sed 命令注释 sed -ri 's/.*swap.*/#&/' /etc/fstab
#/dev/mapper/centos-swap swap                    swap    defaults        0 0
  • 1
  • 2
  • 3
  • 4

同步网络时间,三台服务器都执行 ntpdate ntp1.aliyun.com,通过网络同步时间

# 如果没有 ntpdate ,使用如下命令安装: yum install -y ntpdate
ntpdate ntp1.aliyun.com 	# 使用
date  # 查看时间
  • 1
  • 2
  • 3

允许 iptables 检查桥接流量

cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
sudo sysctl --system
  • 1

部署Docker环境
1、设置docker下载源
官方源

yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  • 1
  • 2

阿里云源

yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 1
  • 2

查看仓库中所有docker版本,并选择特定版本安装

yum list docker-ce --showduplicates | sort -r
  • 1

安装

yum install docker-ce-3:20.10.17-3.el8.aarch64
systemctl enable docker && systemctl start docker
  • 1
  • 2

配置镜像加速

cat <<EOF > /etc/docker/daemon.json
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "registry-mirrors": ["https://m24eqnhh.mirror.aliyuncs.com"]
}
EOF
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

重启docker

systemctl daemon-reload && systemctl restart docker 
  • 1

添加阿里的yum软件源

cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-aarch64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在所有节点安装kubeadm、kubelet、kubectl

yum install -y kubelet-1.21.0 kubeadm-1.21.0 kubectl-1.21.0
systemctl enable kubelet
  • 1
  • 2

kubeadm初始化,仅在master节点执行

kubeadm init \
      --apiserver-advertise-address=172.16.202.100 \		#master节点ip
      --image-repository registry.aliyuncs.com/google_containers \
      --kubernetes-version v1.21.0 \
      --service-cidr=10.96.0.0/12 \
      --pod-network-cidr=10.244.0.0/16 \
      --ignore-preflight-errors=all
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在master节点执行

# 在主节点执行
 mkdir -p $HOME/.kube
 sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
 sudo chown $(id -u):$(id -g) $HOME/.kube/config

#如果是root用户
export KUBECONFIG=/etc/kubernetes/admin.conf
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

加入master节点,node节点都需要执行

kubeadm join 172.16.202.100:6443 --token ms6617.5hbjusrd37ovnbh1 \
        --discovery-token-ca-cert-hash sha256:1161e6266f482d5fdf436aa115a941657a2aee5ff0cc739d8c58adfc6a8441fb 
  • 1
  • 2

部署calico

kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
  • 1

k8s的 coredns 的ImagePullBackOff 和ErrImagePull 问题解决
在这里插入图片描述
查看具体的pod的镜像

kubectl get pods coredns-545d6fc579-4jw9w -n kube-system -o yaml | grep image:
  • 1

在这里插入图片描述
可以看到镜像registry.aliyuncs.com/google_containers/coredns/coredns:v1.8.0无法下载下来
使用docker拉取下镜像, 结果还是失败,从docker hub 官方查找镜像,拉取官方镜像

docker pull coredns/coredns:1.8.0
  • 1

在这里插入图片描述
修改镜像的tag

sudo docker tag 296a6d5035e2 registry.aliyuncs.com/google_containers/coredns/coredns:v1.8.0
  • 1

重新查看状态, 十分完美, 问题解决
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/727981
推荐阅读
相关标签
  

闽ICP备14008679号