银河麒麟v10-sp3-x86系统安装k8s-1.30.4

news2024/11/16 11:27:49

X86-64和arm架构的区别

x86-64架构

设计理念:x86-64架构起源于Intel的x86架构,并对其进行了64位扩展。这种架构的设计侧重于高性能和灵活性,适合处理复杂的计算任务。

性能特点:x86-64架构的处理器通常提供高性能的计算能力,支持大量的内存和复杂的操作系统,如Windows、Linux和macOS。它们能够运行要求苛刻的应用程序,并适应各种高性能需求场景。

兼容性:x86-64架构保留了对32位x86软件的兼容性,这使得在升级到64位系统时,用户可以无缝地继续使用现有的32位应用程序。

ARM架构

设计理念:ARM架构采用RISC(精简指令集计算)设计理念,指令集精简,执行速度快。这种设计使得ARM处理器在功耗和性能之间取得了良好的平衡。

性能特点:ARM处理器以低功耗著称,非常适合电池供电的设备。尽管在绝对性能上可能不如x86-64架构的处理器,但ARM处理器在能效比方面表现优异,即在消耗较少能量的同时提供足够的计算性能。

应用场景:ARM架构广泛应用于移动设备和嵌入式系统,如智能手机、平板电脑、智能手表、家用电器、汽车电子和工业控制等领域。

我们选用的系统为银河麒麟高级服务器操作系统(X86版)V10  

系统优势

1、内生安全体系,支持可信计算、国密算法,通过CGL5.0,公安部等保四级等各类安全认证

 2、银河麒麟高级服务器操作系统V10 SP3是一款直接面向kernel根社区,基于openEuler社区构建强安全、高可靠的国产Linux操作系统。具备自主平台优化、云能力增强、可管理性强、高安全可用性、生态广泛五大特性优势。

3、产品可支撑构建大型数据中心服务器高可用集群、负载均衡集群、分布式文件系统、虚拟化应用服务和容器云平台等。

4、配合银河麒麟服务器的评估和迁移能力,降低用户业务系统适配国产架构平台难度,实现业务系统中服务器操作系统的无感迁移。

5、持续性的安全漏洞更新管理服务,提供安全接管服务支撑。

6、银河麒麟高级服务器操作系统南向兼容主流国内外整机、板卡、外设,北向支撑国内外主流数据库、中间件、服务端组件、商业软件以及开源软件。

K8S安装

准备四台主机

主机名分别为qilin1、qilin2、qilin3、qilin4 ip为192.168.16.28、31、32、33

qilin1、2、3为master 4核8G 40G  qilin4 为node 16核 64G 90Gb

1、初始化安装k8s集群的实验环境

yum install -y device-mapper-persistent-data lvm2 wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel wget vim ncurses-devel autoconf automake zlib-devel  python-devel epel-release openssh-server socat  ipvsadm conntrack telnet ipvsadm

2、关闭selinux,所有k8s机器均操作

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

#备注:修改selinux配置文件之后,重启linux机器,selinux配置才能永久生效,重启之后,登录到机器,执行如下命令:

getenforce

#如果显示Disabled说明selinux已经关闭

3、配置机器主机名

在192.168.16.28上执行如下:

hostnamectl set-hostname qilin1 && bash

在192.168.16.31上执行如下:

hostnamectl set-hostname qilin2 && bash

在192.168.16.32上执行如下:

hostnamectl set-hostname qilin3 && bash

在192.168.16.33上执行如下:

hostnamectl set-hostname qilin4 && bash

4、配置主机hosts文件,相互之间通过主机名互相访问

192.168.16.28 qilin1

192.168.16.31 qilin2

192.168.16.32 qilin3

192.168.16.33 qilin4

5、配置主机之间无密码登录

 在qilin1上执行ssh-keygen  #一路回车,不输入密码

ssh-copy-id qilin2、3、4

6、关闭交换分区swap,提升性能

Swap交换分区是一种在计算机中使用的虚拟内存技术。当物理内存不足以容纳当前运行的程序时,操作系统将会把一部分内存空间暂时转移到硬盘上,以便为当前程序提供运行所需的内存空间。这个过程就称为交换。交换分区

交换分区的使用可以有效避免程序因为内存不足而崩溃或运行缓慢的问题,但是硬盘的读写速度比内存要慢得多,因此交换分区的使用会对系统的性能产生一定的影响。

在 Kubernetes 运行过程中,需要频繁地使用内存和磁盘等系统资源。如果使用了交换分区,会导致 Kubernetes 的运行速度变慢,从而影响整个集群的性能。因此,在安装 Kubernetes 时,通常会建议关闭交换分区。

以一个类比的方式来说,就好像开车上高速,如果路况通畅,车速可以很快,但是如果遇到堵车,需要走应急车道,就会耽误时间。交换分区就像是道路上的堵车,会影响系统的运行速度和效率。因此,为了让 Kubernetes 运行更加高效,通常会建议关闭交换分区。

#临时关闭 swapoff -a

#永久关闭:注释swap挂载,给swap这行开头加注释 vim /etc/fstab 

7、修改机器内核参数

modprobe br_netfilter

vim /etc/sysctl.d/k8s.conf

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

net.ipv4.ip_forward = 1

 sysctl -p /etc/sysctl.d/k8s.conf

8、关闭firewalld防火墙并关闭selinux

setenforce 0 && systemctl stop firewalld && systemctl disable firewalld

9、安装containerd

       下载nerdctl https://github.com/containerd/nerdctl/releases full 类型二进制压缩包,该压缩包中包含了所有containerd相关的内容包括:Containerd、CNI、runc、BuildKit 等完整组件。

mkdir -p /root/kubeadm-boot/containerd

cd /root/kubeadm-boot/containerd

tar xzvf nerdctl-full-2.0.0-beta.5-linux-amd64.tar.gz -C /usr/local                                

创建软连接

ln -s  /usr/local/bin/runc /usr/local/sbin/runc

mkdir -p /opt/cni/

ln -s  /usr/local/libexec/cni/ /opt/cni/bin

设置开机自启并启动服务

systemctl daemon-reload

systemctl enable --now buildkit.service

systemctl enable --now containerd.service

systemctl enable --now stargz-snapshotter.service

查看服务状态

systemctl status buildkit.service

systemctl status containerd.service

systemctl status stargz-snapshotter.service

检查命令是否可用

containerd -v

nerdctl -v

runc -v

buildkitd -v

配置containerd

containerd config default > /root/kubeadm-boot/containerd/config.toml

编辑config.toml文件内容

root = "/data/containerd"

[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]

     SystemdCgroup = true

镜像加速

[plugins."io.containerd.grpc.v1.cri".registry]

config_path = "/etc/containerd/certs.d"

 

mkdir -p /root/kubeadm-boot/containerd/certs.d/registry.k8s.io

cat > /root/kubeadm-boot/containerd/certs.d/registry.k8s.io/hosts.toml << EOF

server = "https://registry.k8s.io"

[host."https://k8s.m.daocloud.io"]

  capabilities = ["pull", "resolve"]

EOF

cp -r /root/kubeadm-boot/containerd/certs.d/ /etc/containerd/

创建镜像存储位置 /data/containerd/

mkdir -p /data/containerd/

放置配置文件

mkdir -p /etc/containerd

cp /root/kubeadm-boot/containerd/config.toml /etc/containerd/

重启containerd

Systemctl restart containerd

验证加速效果

ctr -n k8s.io images pull --hosts-dir "/etc/containerd/certs.d" -k registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.9

10、安装kubernetes

创建kubernetes YUM仓库

cd /etc/yum.repo.d/

cat <<EOF | sudo tee kubernetes.repo

[kubernetes]

name=Kubernetes

baseurl=https://pkgs.k8s.io/core:/stable:/v1.30/rpm/

enabled=1

gpgcheck=1

gpgkey=https://pkgs.k8s.io/core:/stable:/v1.30/rpm/repodata/repomd.xml.key

exclude=kubelet kubeadm kubectl cri-tools kubernetes-cni

EOF

yum clean all

yum makecache

下载k8s各种组件,最新版本为1.30.4

yum install kubelet kubeadm kubectl -y

生成默认配置:

kubeadm config print init-defaults > kubeadm-init.yaml

修改配置中的 localAPIEndpoint.advertiseAddress 为当前主机的IP

修改 nodeRegistration.name 节点名称为当前节点的名称,注意这里是主节点

配置pod子网,在networking中加入 podSubnet

文件内容如下

apiVersion: kubeadm.k8s.io/v1beta3

bootstrapTokens:

- groups:

  - system:bootstrappers:kubeadm:default-node-token

  token: abcdef.0123456789abcdef

  ttl: 24h0m0s

  usages:

  - signing

  - authentication

kind: InitConfiguration

localAPIEndpoint:

  advertiseAddress: 192.168.16.28

  bindPort: 6443

nodeRegistration:

  criSocket: unix:///run/containerd/containerd.sock

  imagePullPolicy: IfNotPresent

  name: qilin1

  taints: null

---

apiServer:

  timeoutForControlPlane: 4m0s

apiVersion: kubeadm.k8s.io/v1beta3

certificatesDir: /etc/kubernetes/pki

clusterName: kubernetes

controllerManager: {}

dns: {}

etcd:

  local:

    dataDir: /var/lib/etcd

imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers

kind: ClusterConfiguration

kubernetesVersion: 1.30.4

networking:

  dnsDomain: cluster.local

  podSubnet: 10.244.0.0/16

  serviceSubnet: 10.96.0.0/12

scheduler: {}

---

apiVersion: kubeproxy.config.k8s.io/v1alpha1

kind: KubeProxyConfiguration

mode: ipvs

---

apiVersion: kubelet.config.k8s.io/v1beta1

kind: KubeletConfiguration

cgroupDriver: system

初始化集群

kubeadm init --config kubeadm-init.yaml

根据提示操作

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

 出现这个,可通过这个命令加入集群
kubeadm join 192.168.16.28:6443 --token abcdef.0123456789abcdef \
    --discovery-token-ca-cert-hash sha256:ffad36b26f845c62580bee79d5d6ddcc4618aaf9d52e5ac22ddadc8e1a109f4c

验证集群是否正常

kubectl get nodes #ready即为正常的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2090815.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

六个方面探讨企业为何迫切需要替换FTP

随着信息技术的迅猛发展和网络安全形势的日趋严峻&#xff0c;传统的FTP文件传输协议因其固有的局限性和安全隐患&#xff0c;逐渐难以满足现代企业的需求。因此&#xff0c;寻找并升级FTP替代方案成为众多企业需要解决的问题。本文将从六个方面探讨企业为何迫切需要替换FTP。 …

云轴科技ZStack产品升级,浙江分公司产品发布会成功举办

近日&#xff0c;以“智启未来&#xff0c;云端共赢”为主题的云轴科技ZStack浙江分公司针对浙江地区渠道合作伙伴的产品发布会在杭州顺利召开。ZStack总代理伟仕佳杰、神州数码、英迈等百余位合作伙伴代表出席会议&#xff0c;共同见证ZStack在云基础设施与AI软件基础设施领域…

易查分如何查询图片?

最近经常看到老师们各种分享和讨论一个问题&#xff0c;今天&#xff0c;我就和大家聊聊如何高效地在易查分平台上上传和管理图片&#xff0c;让查询结果更加直观。 首先准备你的图片&#xff0c;无论是获奖证书还是奖状&#xff0c;确保它们的格式正确&#xff0c;比如"2…

VMware虚拟机安装的Ubuntu,桥接方式静态ip,内网可以访问,ping外网不可用

1.环境说明 系统&#xff1a;Ubuntu 24.04 环境&#xff1a;VMware下桥接静态IP设置 2.问题&#xff1a;ping www.baidu.com报错 [~] ping www.baidu.com ping: www.baidu.com: Temporary failure in name resolutio…

十、前后端分离通用权限系统(10)

&#x1f33b;&#x1f33b; 目录 一、功能说明二、部门管理三、岗位管理四、日志管理4.1、登录日志4.1.1、功能实现- 接口4.1.2、编写 AsyncLoginLogMapper4.1.3、功能实现- 接口实现4.1.4、导入获取ip地址的工具类 IpUtil4.1.5、在 TokenLoginFilter 调用方法实现4.1.6、修改…

【Matlab】时间序列模型(ARIMA)

文章目录 前言一、示例二、代码实现----Matlab全部数据的平稳性检验ADF检验图检验法 划分训练集平稳性检验确定 p&#xff0c;q结果分析和模型检验模型预测 前言 接上一篇博客&#xff0c;用 Matlab 完成代码编写。 【学习笔记】时间序列模型(ARIMA) 一、示例 已知一个上市公…

Linux云计算 |【第二阶段】SHELL-DAY4

主要内容&#xff1a; grep、egrep的使用&#xff0c;基本/扩展正则、sed的使用&#xff08;非交互、逐行处理、常用命令与选项&#xff09; 补充&#xff1a;grep [-E]选项&#xff0c;表示允许使用扩展的正则表达式&#xff08;同等于egrep&#xff09; 一、grep 与 egrep 的…

Kubernetes高可用部署

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…

极限的性质【上】《用Manim可视化》

通过前面的极限的定义&#xff0c;现在是计算极限的时候了。然而&#xff0c;在此之前&#xff0c;我们需要一些极限的性质&#xff0c;这将使我们的工作变得简单一些。我们先来看看这些。 极限的性质&#xff1a; 1.常数对极限的影响 1.首先&#xff0c;我们假设和存在&…

Tengine框架之配置表的Luban转换与加载

对于一个游戏来说&#xff0c;配置表是必不可少的&#xff0c;而且文件数量还比较多&#xff0c;像活动、任务成就、图鉴、地图、皮肤、本地化语言、技能等等之类。配置表一般使用Excel格式&#xff0c;便于策划来配置。但游戏中一般使用txt/json/xml/二进制格式文件&#xff0…

碎碎念之Android中CPU架构arm-v8a、arm-v7a、x86

0 碎碎念 之前写博客都是为了复习基础知识&#xff0c;不过好像也忘得很快hh。 以后估计会写点感兴趣的自己碎碎念&#xff0c;缓解下emo的心情。&#xff08;不像之前的博客&#xff0c;这些博客不准备复现也不贴代码所以不一定对&#xff0c; 仅供个人参考 &#xff09; 现在…

Python酷库之旅-第三方库Pandas(111)

目录 一、用法精讲 486、pandas.DataFrame.count方法 486-1、语法 486-2、参数 486-3、功能 486-4、返回值 486-5、说明 486-6、用法 486-6-1、数据准备 486-6-2、代码示例 486-6-3、结果输出 487、pandas.DataFrame.cov方法 487-1、语法 487-2、参数 487-3、功…

鸿蒙项目签名配置

配置需要以下四个文件&#xff1a; 1. p12文件 2. csr文件 3. cer文件 打开AGC平台 点击申请调试证书 4. p7b文件 最后在项目中进行配置 配置项目的module.json5中

selenium使用指南

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 概述 selenium是网页应用中最流行的自动化测试工具&#xff0c;可以用来做自动化测试或者浏览器爬虫等。官网地址为&#xff1a;相对于另外一款web自动化测试工…

Linux安装Hadoop(单机版)详细教程

目录 一、JDK安装 1、下载JDK安装包 2、解压下载的JDK安装包 3、移动并重命名JDK包 4、配置Java环境变量 5、验证安装是否成功 二、Hadoop安装 1、下载Hadoop安装包 2、解压Hadoop安装包 3、配置Hadoop环境变量 4、修改配置文件 5、验证Hadoop是否安装成功 三&…

C# 开发环境搭建(Avalonia UI、Blazor Web UI、Web API 应用示例)

文章目录 C# 文档.NET SDK 下载安装 .NET SDK安装完验证VS Code 配置C# 开发插件settings.json WPF UI 框架Avalonia UI 框架创建 Avalonia 项目Avalonia 官方示例Avalonia 桌面 UI 库 Blazor Web UI 框架创建应用项目结构 ASP.NET Core 控制器创建 Web APIdotnet 命令dotnet n…

探索Unity与C#的无限潜能:从新手到高手的编程之旅

在数字创意与技术创新交织的今天&#xff0c;Unity游戏引擎凭借其强大的跨平台能力和灵活的编程接口&#xff0c;成为了无数开发者心中的首选。而C#&#xff0c;作为Unity的官方脚本语言&#xff0c;更是以其面向对象的特性和丰富的库支持&#xff0c;为游戏开发注入了无限可能…

克隆技术在代码溯源和复用及变更分析中的应用

摘要&#xff1a; 克隆技术已在软件代码溯源分析领域得到广泛应用&#xff0c;而轩宇软件成分分析系统基于溯源分析和同源分析技术&#xff0c;通过先进的特征向量提取、相似性匹配、高效检索引擎等多项技术&#xff0c;帮助企业高效识别代码来源、评估自主可控率&#xff0c;…

【数据结构】关于哈希表内部原理,你到底了解多少???(超详解)

前言&#xff1a; &#x1f31f;&#x1f31f;本期讲解关于哈希表的内部实现原理&#xff0c;希望能帮到屏幕前的你。 &#x1f308;上期博客在这里&#xff1a;http://t.csdnimg.cn/7D225 &#x1f308;感兴趣的小伙伴看一看小编主页&#xff1a;GGBondlctrl-CSDN博客 目录 &a…

安嘉空间:智慧科技守护空间健康

在当今社会&#xff0c;随着人们对生活质量要求的不断提升&#xff0c;室内环境的健康与安全问题日益受到重视。安嘉空间&#xff0c;作为一家致力于人居健康空间技术研发的高科技企业&#xff0c;以其独创的技术和卓越的产品&#xff0c;为广大用户提供了一套全面的空间健康解…