0

0

麒麟OS怎么安装Kubernetes_麒麟OS容器编排部署【指南】

裘德小鎮的故事

裘德小鎮的故事

发布时间:2026-03-01 18:02:03

|

513人浏览过

|

来源于php中文网

原创

麒麟os部署kubernetes失败主因是依赖缺失、镜像源不可达或内核模块未启用;推荐采用apt标准流程:更新系统、装基础工具、配docker阿里源、装docker并启用、配kubernetes阿里源。

麒麟os怎么安装kubernetes_麒麟os容器编排部署【指南】

如果您正在麒麟操作系统上部署容器编排平台,但Kubernetes组件无法正常安装或初始化失败,则可能是由于系统依赖缺失、镜像源不可达或内核模块未启用所致。以下是针对麒麟OS安装Kubernetes的多种可行路径:

一、基于APT包管理器的标准安装流程

该方法适用于x86_64架构的银河麒麟V10桌面版或服务器版,依赖官方APT仓库与阿里云镜像源,步骤清晰且兼容性高。

1、更新系统并安装基础工具:
sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common

2、添加Docker官方GPG密钥并配置Docker CE源:
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/debian $(lsb_release -cs) stable"

3、安装Docker并启动服务:
sudo apt-get update && sudo apt-get install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker && sudo systemctl enable docker

4、配置Kubernetes国内镜像源:
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
sudo tee /etc/apt/sources.list.d/kubernetes.list deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF

5、安装kubeadm、kubelet、kubectl并锁定版本:
sudo apt-get update && sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

二、ARM64架构离线安装方案

该方法专为鲲鹏、飞腾等国产ARM64平台设计,规避网络依赖与架构适配问题,适用于无外网环境或受限网络场景。

1、下载ARM64版Docker静态二进制包:
Docker官方aarch64目录获取docker-24.0.0.tgz

2、解压并部署至系统路径:
tar -xzf docker-24.0.0.tgz
sudo cp -p docker/* /usr/bin/

3、创建systemd服务文件/etc/systemd/system/docker.service:
[Unit]
Description=Docker Application Container Engine
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always

[Install]
WantedBy=multi-user.target

4、加载服务并启动:
sudo systemctl daemon-reload
sudo systemctl start docker && sudo systemctl enable docker

5、手动下载ARM64适配的kubernetes-server-linux-arm64.tar.gz(含kubeadm/kubelet/kubectl),解压后将二进制文件复制至/usr/bin,并设置可执行权限:
chmod +x /usr/bin/kubeadm /usr/bin/kubelet /usr/bin/kubectl

三、内核与网络前置加固配置

该步骤是麒麟OS成功运行Kubernetes的必要前提,解决因内核参数未调优导致的pod网络异常、节点NotReady等问题。

1、关闭swap分区(临时+永久):
sudo swapoff -a
sudo sed -ri 's/^[^#].*swap.*/#&/' /etc/fstab

2、配置桥接流量转发规则:
sudo tee /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
vm.swappiness = 0
EOF
sudo sysctl --system

3、加载br_netfilter模块并验证:
sudo modprobe br_netfilter
必须确认输出中包含br_netfilter字样,否则后续init将失败

4、安装ipset与ipvsadm(支持kube-proxy ipvs模式):
sudo apt-get install -y ipset ipvsadm

5、配置IPVS内核模块自动加载:
sudo tee /etc/sysconfig/modules/ipvs.modules #!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack
EOF
sudo chmod 755 /etc/sysconfig/modules/ipvs.modules && sudo bash /etc/sysconfig/modules/ipvs.modules

四、集群初始化与CNI网络部署

完成前述所有依赖后,方可执行集群初始化;此阶段需指定Pod网络CIDR并与所选CNI插件保持一致,避免网络插件无法分配地址。

1、初始化控制平面(master节点):
务必使用--pod-network-cidr参数,且值须与后续CNI配置严格匹配
sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --kubernetes-version=v1.28.2

2、配置kubectl本地访问:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

3、部署Flannel CNI插件(适用于10.244.0.0/16网段):
kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/v0.24.2/Documentation/kube-flannel.yml

4、验证节点状态:
kubectl get nodes -o wide
输出中STATUS列应为Ready,ROLES列包含control-plane

五、多节点集群加入与主机名解析配置

该方法确保worker节点能正确解析master地址并建立TLS连接,规避因/etc/hosts缺失或hostname不一致引发的join失败。

1、在所有节点统一设置主机名:
sudo hostnamectl set-hostname master1 # 主节点
sudo hostnamectl set-hostname worker1 # 工作节点1

2、主节点编辑/etc/hosts,添加全部节点映射:
sudo tee -a /etc/hosts 192.168.10.30 master1
192.168.10.31 worker1
192.168.10.32 worker2
EOF

3、同步hosts文件至各worker节点:
sudo scp /etc/hosts root@192.168.10.31:/etc/hosts
sudo scp /etc/hosts root@192.168.10.32:/etc/hosts

4、在worker节点执行join命令(使用kubeadm init输出的实际token和hash):
sudo kubeadm join 192.168.10.30:6443 --token abcdef.0123456789abcdef \
--discovery-token-ca-cert-hash sha256:1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef

5、主节点验证节点加入:
kubectl get nodes --show-labels

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

452

2023.06.14

linux常见下载安装工具
linux常见下载安装工具

linux常见下载安装工具有APT、YUM、DNF、Snapcraft、Flatpak、AppImage、Wget、Curl等。想了解更多linux常见下载安装工具相关内容,可以阅读本专题下面的文章。

183

2023.10.30

k8s和docker区别
k8s和docker区别

k8s和docker区别有抽象层次不同、管理范围不同、功能不同、应用程序生命周期管理不同、缩放能力不同、高可用性等等区别。本专题为大家提供k8s和docker区别相关的各种文章、以及下载和课程。

270

2023.07.24

docker进入容器的方法有哪些
docker进入容器的方法有哪些

docker进入容器的方法:1. Docker exec;2. Docker attach;3. Docker run --interactive --tty;4. Docker ps -a;5. 使用 Docker Compose。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

514

2024.04.08

docker容器无法访问外部网络怎么办
docker容器无法访问外部网络怎么办

docker 容器无法访问外部网络的原因和解决方法:配置 nat 端口映射以将容器端口映射到主机端口。根据主机兼容性选择正确的网络驱动(如 host 或 overlay)。允许容器端口通过主机的防火墙。配置容器的正确 dns 服务器。选择正确的容器网络模式。排除主机网络问题,如防火墙或连接问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

414

2024.04.08

docker镜像有什么用
docker镜像有什么用

docker 镜像是预构建的软件组件,用途广泛,包括:应用程序部署:简化部署,提高移植性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

449

2024.04.08

Docker容器化部署与DevOps实践
Docker容器化部署与DevOps实践

本专题面向后端与运维开发者,系统讲解 Docker 容器化技术在实际项目中的应用。内容涵盖 Docker 镜像构建、容器运行机制、Docker Compose 多服务编排,以及在 DevOps 流程中的持续集成与持续部署实践。通过真实场景演示,帮助开发者实现应用的快速部署、环境一致性与运维自动化。

37

2026.02.11

Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务
Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务

Golang云原生微服务Kubernetes (K8s) 是指 使用 Go 语言(Golang)编写的云原生微服务,并利用 Kubernetes 平台进行容器化部署、自动化管理、弹性伸缩和高效编排的一整套现代应用架构方案。

27

2025.12.22

Golang 测试体系与代码质量保障:工程级可靠性建设
Golang 测试体系与代码质量保障:工程级可靠性建设

Go语言测试体系与代码质量保障聚焦于构建工程级可靠性系统。本专题深入解析Go的测试工具链(如go test)、单元测试、集成测试及端到端测试实践,结合代码覆盖率分析、静态代码扫描(如go vet)和动态分析工具,建立全链路质量监控机制。通过自动化测试框架、持续集成(CI)流水线配置及代码审查规范,实现测试用例管理、缺陷追踪与质量门禁控制,确保代码健壮性与可维护性,为高可靠性工程系统提供质量保障。

24

2026.02.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号