AMR架构下openEuler系统安装Docker和Kubernetes教程


前言

近日在部署安装Kubernetes过程中遇到很多挫折,遇到很多问题,走过很多弯路,希望这篇帖子可以帮助到大家。

软件版本信息如下:
系统版本:OpenEuler-22.09 aarch64
Docker:docker-ce-20.10.17
Kubernetes:v1.22.0
节点信息:

虚拟机名称角色ip地址
k8smastermaster节点172.10.10.93
k8snode1node节点172.10.10.41
k8snode2node节点172.10.10.17

一、安装docker

分别在三个节点上执行下面步骤

#下载阿里云docker yum 源
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
#将docker-ce.repo中[docker-ce-stable]中的$releasever改为8
vi /etc/yum.repos.d/docker-ce.repo

在这里插入图片描述

#安装依赖包
yum clean all && yum makecache && yum -y update
yum install -y  device-mapper-persistent-data lvm2

#安装docker
yum -y install docker-ce-20.10.17

#设置开机启动docker
systemctl start docker
systemctl enable docker

#设置docker的cgroup驱动
#这里推荐systemd
cat > /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": ["https://apvimgsq.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF

# 使配置生效,重启docker
systemctl daemon-reload
systemctl restart docker

#查看docker版本
docker version

显示如下内容代表docker安装成功
docker安装成功

二、设置网络

分别在三个节点上执行下面步骤

# 关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

#三台主机全部关闭selinux

sed –i 's/enforcing/disabled/’  /etc/selinux/config
setenforce 0
# 关闭swap分区

swapoff -a

#设置节点解析,其中xxx.xxx.xxx.xx为实际ip地址
cat >> /etc/hosts << EOF
xxx.xxx.xxx.xx master
EOF

在这里插入图片描述

# 设置主机名,其中k8smaster为实际节点名称,node节点应修改为相应名称
sudo hostnamectl set-hostname k8smaster

#将桥接的IPv4流量传递到iptables的链
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF

vi /etc/sysctl.conf
即修改:
net.ipv4.ip_forward = 1
#0代表禁止转发,1代表转发,禁止转发master初始化将报错

sysctl --system

三、安装kubernetes

分别在三个节点上执行下面步骤
通过kubeadm工具安装kubernetes

#添加网络源
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

#安装kubectl,kubeadm,kubelet

yum install -y kubelet-1.22.0 kubeadm-1.22.0 kubectl-1.22.0

#启动kubelet服务

systemctl enable kubelet

在Master节点上执行下面步骤

#初始化集群

kubeadm init \
  --apiserver-advertise-address=172.10.19.93 \
  --image-repository registry.aliyuncs.com/google_containers \
  --kubernetes-version v1.22.0 \
  --service-cidr=10.96.0.0/12\
  --pod-network-cidr=10.244.0.0/16
  
#apiserver-advertise-address 需要修改为自己的ip地址
#kubernetes-version 这里的版本号要和上面安装的版本号一致
#image-repository 手动配置阿里云镜像地址,国内网络环境
#安装完成后,会看到successful 字样的提示,同时也会给你一段提示,按照提示执行以下命令

#设置kubectl
#设置kubectl

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config 

#设置集群网络(flannel),如果不安装则集群间的网络会不通

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

#master执行:
sudo kubeadm token create --print-join-command
#将生成的代码复制

将work node加入
将刚才复制的代码粘贴到node节点中执行;
出现下图证明node节点成功加入
在这里插入图片描述

#过一段时间 master查看:
kubectl get nodes

在这里插入图片描述

kubectl get pods --all-namespaces

在这里插入图片描述

可能出现的问题及解决方法

#flannel 的pod启动正常后,如果节点还是Notready,需要安装kubernetes-cni
yum install -y kubernetes-cni
#若不能正确执行该命令可按照提示增加后缀重新执行

K8s集群中Node节点报错“The connection to the server localhost:8080 was refused - did you specify the ri.
在这里插入图片描述

# 拷贝admin.conf文件,主节点上执行。K8s-Master,K8s-Node1,K8s-Node2需要在/etc/hosts中解析
scp /etc/kubernetes/admin.conf  root@k8snode1:/etc/kubernetes/
scp /etc/kubernetes/admin.conf  root@k8snode2:/etc/kubernetes/

# 设置环境变量,在Node节点上执行。
# Node1
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
source ~/.bash_profile
# Node2
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
source ~/.bash_profile

  • 11
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
openEuler操作系统安装Docker的过程如下: 1. 首先,我们需要解决依赖问题。默认情况下,openEuler安装好后,安装Docker会报依赖container-selinux版本过低的错误。为了解决这个问题,您可以按照以下步骤进行操作: - 您可以使用华为openEuler提供的方法来安装最新版本的Docker。具体步骤如下: - 引用中提到的华为openEuler安装Docker最新版的过程。 - 或者,如果您是在arm64平台下安装Docker,可以使用离线安装包和一键安装脚本。具体步骤如下: - 引用中提到的arm64平台下Dockerdocker-compose离线安装包的安装过程。 2. 安装完成后,您还需要设置Docker源。在openEuler操作系统中,可以使用与CentOS相同的方法来设置Docker源。具体步骤如下: - 使用以下命令将Docker源添加到openEuler的配置管理器中: ``` dnf config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo ``` - 使用以下命令安装Docker: ``` dnf install -y docker-ce ``` - 使用以下命令启动Docker并设置为开机自启动: ``` systemctl start docker systemctl enable docker ``` - 最后,您可以使用以下命令验证Docker安装版本: ``` docker -v ``` 通过以上步骤,您可以在openEuler操作系统中成功安装Docker。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [华为欧拉操作系统openEulerOS 安装docker最新版](https://blog.csdn.net/Jactil/article/details/124969667)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [arm64平台下dockerdocker-compose离线安装包,含一键安装脚本,已在openEuler操作系统下验证](https://download.csdn.net/download/ChennyWJS/88058544)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值