欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Calico3.22.0openEuler21.09测试报告

时间:2023-06-24
测试报告 测试环境

使用华为云 ECS 进行 Kubernetes 集群的搭建,集群由一个 master 节点和一个 worker 节点组成,两个主机操作系统环境为 。

其中 master 节点为:

x86_64: 通用计算增强型 | c6s.large.2 | 2vCPUs | 4GiB | Ubuntu 20.04

worker 节点为:

aarch64: 鲲鹏通用计算增强型 | kc1.large.2 | 2vCPUs | 4GiB | Ubuntu 18.04

通过 calico 搭建完成 pod 网络之后通过部署 nginx 来进行测试,以能够看到 nginx 的欢迎页面为测试成功。

参考资料

https://zhuanlan.zhihu.com/p/138554103https://python.iitter.com/other/10768.htmlhttps://hollowmansblog.wordpress.com/2022/01/28/deploy-a-kubernetes-cluster-based-on-calico-and-opensuse-kubic/https://leehao.me/k8s-%E9%83%A8%E7%BD%B2-nginx-%E5%85%A5%E9%97%A8/ 测试步骤以及结果

开通华为云 ECS 服务流程(需要弹性公网IP)以及登录进入两个主机界面则不再阐述,这里放出我的两个主机界面截图:

Master:
Worker:
准备Kubernetes环境

首先再master中执行:

modprobe br_netfiltercat <

修改/etc/sysctl.d/10-network-security.conf:

将下面两个参数的值从2修改为1:

net.ipv4.conf.default.rp_filter=1net.ipv4.conf.all.rp_filter=1

然后使之生效:sudo sysctl --system

更新系统,安装软件:

sudo apt update && sudo apt dist-upgrade -ysudo apt install docker.io -ysudo systemctl start dockersudo systemctl enable dockersudo apt-get update && sudo apt-get install -y ca-certificates curl software-properties-common apt-transport-httpscurl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -sudo tee /etc/apt/sources.list.d/kubernetes.list <

修改Docker,在/etc/docker/daemon.json中{}内,添加"exec-opts": ["native.cgroupdriver=systemd"],并执行

mkdir -p /var/lib/kubeletcat > /var/lib/kubelet/config.yaml <

然后将这节上述步骤再在worker中重复执行一遍。

部署Kubernetes

在master中执行:

sudo kubeadm init --pod-network-cidr 172.16.0.0/16 --image-repository registry.cn-hangzhou.aliyuncs.com/google_containers

记下最后打印的join命令,然后执行:

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

在master中下载 https://gitee.com/jiangsonglin2/openeuler-docker-images/raw/master/calico/calico-3.22.0-openEuler-21.09.yaml
修改CALICO_IPV4POOL_CIDR对应值为172.16.0.0/16,取消掉对应注释。

然后 kubectl apply -f calico-3.22.0-openEuler-21.09.yaml

worker中运行刚刚记录的join命令:

集群构建成功!

稍等片刻,所有节点都正常运行:(以下命令都在master中执行)kubectl get nodes

kubectl get pods --all-namespaces

kubectl describe pods -n kube-system calico-node-hhpxn可见master节点(x86_64)的calico镜像部署测试成功:

kubectl describe pods -n kube-system calico-node-q8hg6可见worker节点(aarch64)的calico镜像部署测试成功:

kubectl exec -it calico-node-hhpxn -n kube-system -- bash进入master节点(x86_64)的calico镜像容器中,执行cat /etc/os-release,可确认基底为openEuler 21.09(因为在制作镜像时为了清理压缩空间,删除了一些calico用不到的指令,所以请忽略这里的command not found报错,不妨碍正常运行):

kubectl exec -it calico-node-q8hg6 -n kube-system -- bash进入worker节点(aarch64)的calico镜像容器中,执行cat /etc/os-release,可确认基底为openEuler 21.09:

master节点中下载calicoctl安装:

wget https://github.com/projectcalico/calico/releases/download/v3.22.0/calicoctl-linux-amd64chmod +x calicoctl-linux-amd64mv calicoctl-linux-amd64 /usr/bin/calicoctl

calicoctl node status查看calico进程以及节点信息:

一切正常!

测试在集群中部署Nginx应用

执行nano nginx-pod.yml,输入以下内容:

apiVersion: v1kind: Podmetadata: name: nginx labels: app: nginxspec: containers: - name: nginx image: nginx:alpine ports: - containerPort: 80

Ctrl-O,Enter,Ctrl-X保存。

执行kubectl apply -f nginx-pod.yml

然后执行kubectl get pods nginx -o wide,可以看到 nginx pod 已处于 Running 状态,表示刚创建的 pod 已成功运行起来。

执行nano nginx-dep.yml,输入以下内容:

apiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deploymentspec: selector: matchLabels: app: nginx replicas: 3 template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:alpine ports: - containerPort: 80

Ctrl-O,Enter,Ctrl-X保存。

执行kubectl apply -f nginx-dep.yml

然后执行kubectl get deploy -o wide可以看到,刚创建的 nginx-deployment 的 3 个副本均处于 READY 状态:

执行nano nginx-svc.yml,输入以下内容:

apiVersion: v1kind: Servicemetadata: name: nginx-servicespec: selector: app: nginx ports: - protocol: TCP port: 80 targetPort: 80 nodePort: 30080 type: NodePort

Ctrl-O,Enter,Ctrl-X保存。

执行kubectl apply -f nginx-svc.yml

然后执行kubectl get svc nginx-service -o wide查看 service 的状态:

执行curl 127.0.0.1:30080,可以看到nginx 的欢迎页面源代码,说明一切正常,集群测试到此结束!

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。