arm架构部署k8s集群

这篇具有很好参考价值的文章主要介绍了arm架构部署k8s集群。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

部署centos8

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

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

cd /etc/sysconfig/network-scripts/

部署k8s

修改hostname

hostnamectl set-hostname master
hostnamectl set-hostname node1
hostnamectl set-hostname node2

在每个节点上添加 hosts 信息

cat <<EOF >> /etc/hosts
172.16.202.100 master 
172.16.202.101 node1
172.16.202.102 node2
EOF

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

systemctl stop firewalld && systemctl disable firewalld

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

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

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

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

允许 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
sudo sysctl --system

部署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

阿里云源

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

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

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

安装

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

配置镜像加速

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

重启docker

systemctl daemon-reload && systemctl restart docker 

添加阿里的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

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

yum install -y kubelet-1.21.0 kubeadm-1.21.0 kubectl-1.21.0
systemctl enable kubelet

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

在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

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

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

部署calico

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

k8s的 coredns 的ImagePullBackOff 和ErrImagePull 问题解决
arm架构服务器部署k8s集群,kubernetes
查看具体的pod的镜像

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

arm架构服务器部署k8s集群,kubernetes
可以看到镜像registry.aliyuncs.com/google_containers/coredns/coredns:v1.8.0无法下载下来
使用docker拉取下镜像, 结果还是失败,从docker hub 官方查找镜像,拉取官方镜像

docker pull coredns/coredns:1.8.0

arm架构服务器部署k8s集群,kubernetes
修改镜像的tag

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

重新查看状态, 十分完美, 问题解决
arm架构服务器部署k8s集群,kubernetes文章来源地址https://www.toymoban.com/news/detail-833404.html

到了这里,关于arm架构部署k8s集群的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 服务器-Kubernetes (K8S)单机部署实战 -- 001

         本篇博文是 centos 7 系统安装 kubernetes 单机 master 节点操作。 一: 查看 服务器 配置信息       1. 执行命令查看服务器cpu信息。安装 kubernetes 服务,cpu核心数必须大于2,内存大于2G。       2.  修改服务器设置信息,避免安装出现问题。         a.  临时关闭swap,防止

    2024年02月19日
    浏览(44)
  • Rancher创建arm架构的下游k8s集群

    费了些时间在成功在华为云arm架构的服务器上搭建了k8s集群,期间问题不断,以下是三个关键点: 确保网络能正常拉取所需镜像 拉取的镜像需支持arm架构 否则报错:exec /pause: exec format error 集群网络驱动要选择flannel Rancher版本:v2.5.15 Rancher上的具体操作就不细说了,不懂的参

    2024年02月10日
    浏览(32)
  • [k8s] arm64架构下k8s部署的坑

    本次测试在华为kunpeng-920机器上,cpu配置如下: 操作系统是中标麒麟 麒麟自带仓库里面的k8s版本最高是1.15,比较低了。所以配置了k8s官方源(基于el7,dddd) 本次安装1.23(写这篇文章时候,最新的是1.27。但是安装1.27有点问题,就选了1.23) 利用kubeadm部署,利用 kubeadm confi

    2024年02月11日
    浏览(43)
  • 使用树莓派搭建K8S集群(ARM64架构,附安装脚本)

    为了能够更好的学习K8S,王道还是得自己动手 在虚拟机上玩K8S,没啥感觉。决定挑战自己,然后买了6个树莓派,在真实的硬件上从零开始搭建部署K8S。以下内容在自己的树莓派集群上经过充分验证,没毛病。成品如下图: 树莓派供电用的是带POE功能的交换机,每一个树莓派

    2024年02月06日
    浏览(69)
  • 使用k8s部署Mysql实例~hostpath,nfs服务器,PV和PVC持久化

    1.基础存储的分类: 分类 说明 EmptyDir EmptyDir是在Pod 被分配到Node时 创建的, 无须手动指定 ,当 Pod销毁时 , EmptyDir中的数据也会被 永久删除 HostPath HostPath就是将Node主机中一个实际目录挂载到Pod中,保证 Pod销毁 了,但是 数据依旧可以存在 于Node主机上 NFS NFS是一个网络文件

    2024年02月20日
    浏览(35)
  • 保姆级 ARM64 CPU架构下安装部署Docker + rancher + K8S 说明文档

    K8S是Kubernetes的简称,是一个开源的容器编排平台,用于自动部署、扩展和管理“容器化(containerized)应用程序”的系统。它可以跨多个主机聚集在一起,控制和自动化应用的部署与更新。 K8S 架构 Kubernetes 主要由以下几个核心组件组成: etcd 保存了整个集群的状态; apiserv

    2024年01月21日
    浏览(50)
  • k8s部署nacos集群以及服务注册

    使用mysql存储nacos数据 mysql搭建可以参考:https://blog.csdn.net/yorao4565/article/details/128445946 在k8s中部署nacos配置nacos-cm 在k8s中部署nacos的headless-service,用于集群间访问 用于服务注册 用于外部访问管理页面 访问nacos界面:http://10.10.10.10:30004 创建一个简单的服务,能启动就行,增加

    2024年02月07日
    浏览(33)
  • K8S查看服务器日志

    现在越来越多的服务通过K8S进行部署,所以这里简单记录下在我们日常工作中,使用k8s进行查看服务器的相关日志命令。 首先需要使用账号密码进入到服务器中 第一个命令 kubetctl get pod -A 这个是查看所有的服务信息 其中NAMESPACE是命名空间,name则是你服务节点的名称,注意,

    2024年02月12日
    浏览(33)
  • k8s中部署nginx-ingress实现外部访问k8s集群内部服务

    k8s通过nginx-ingress实现集群外网访问功能 1.1 ingress 工作原理 step1:ingress contronler通过与k8s的api进行交互,动态的去感知k8s集群中ingress服务规则的变化,然后读取它,并按照定义的ingress规则,转发到k8s集群中对应的service。 step2:而这个ingress规则写明了哪个域名对应k8s集群中的

    2024年02月07日
    浏览(32)
  • 基于k8s集群容器化部署etcd集群和apisix服务

    创建StorageClass,支持动态pvc创建,StorageClass使用nfs-client,同时使用华为云sfs作为数据持久化存储目录 角色认证(rabc.yaml) 创建nfs-provisioner(nfs-provisioner.yaml) 设置nfs-client(nfs-client.yaml) 创建svc,后续apisix中会使用到(svc.yaml) 挨个执行以上yaml文件,kubectl apply -f ***.yaml 创建etcd有状态服务(e

    2024年01月19日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包