[转帖]离线部署单机kubenetes-1.28.4
- 系统版本: openEuler 22.03 (LTS-SP2)
- docker版本:24.0.7
- kubenetes版本: 1.28.4
- 虚机IP: 192.168.177.138
- 基于 https://www.jianshu.com/p/b10b2d996c40 简化步骤
环境准备
IP、主机名设置
- 使用静态IP
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cat ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.177.138
NETMASK=255.255.255.0
- 修改主机名
hostnamectl set-hostname k8s-test
exec bash
echo "192.168.177.138 k8s-test" >> /etc/hosts
关闭swap分区
# 如果有的话,关闭swap分区
swapoff -a
vi /etc/fstab # 永久关闭swap分区,注释掉fstab中包含swap的这一行
# /dev/mapper/centos-swap swap swap defaults 0 0
关闭firewalld,selinux
sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
转发 IPv4 并让 iptables 看到桥接流
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF
sudo modprobe overlay
sudo modprobe br_netfilter
# 设置所需的 sysctl 参数,参数在重新启动后保持不变
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOF
# 应用 sysctl 参数而不重新启动
sudo sysctl --system
lsmod | grep br_netfilter
lsmod | grep overlay
sysctl net.bridge.bridge-nf-call-iptables net.bridge.bridge-nf-call-ip6tables net.ipv4.ip_forward
# 如果init时仍提示iptables错误请执行
echo "1">/proc/sys/net/bridge/bridge-nf-call-iptables
echo "1">/proc/sys/net/ipv4/ip_forward
重启服务器
如果selinux之前是开的,需要重启服务器
一、 部署包准备
- 下载地址 kubenetes-1.28.4-oe2203sp2.tar.gz
链接:https://pan.baidu.com/s/1xaFpT2KncZ_CpCPtVTLO_w
提取码:2gfn - 解压
tar zxvf kubenetes-1.28.4-oe2203sp2.tar.gz
二、 安装docker及cri-docker
- 安装软件包
cd kubenetes-1.28.4-oe2203sp2/docker-ce/
rpm -ivh *.rpm

- 修改配置文件
sudo mkdir -p /etc/docker
scp daemon.json /etc/docker
scp cri-docker.service /usr/lib/systemd/system/cri-docker.service
- 启动服务
systemctl daemon-reload && systemctl restart docker cri-docker.socket cri-docker
systemctl status docker cri-docker
三、安装kubenetes
1、安装相关rpm包
cd ../kubenetes-1.28.4-rpm/
rpm -ivh *.rpm

2、启动kubelet
#systemctl start kubelet
systemctl enable kubelet
3、导入镜像
cd ../kubenetes-1.28.4-images/
for i in `ls *.tar`; do docker load -i $i ;done

4、初始化集群
替换其中的 --node-name,--apiserver-advertise-address
kubeadm init --node-name=k8s-test \
--image-repository=registry.aliyuncs.com/google_containers \
--cri-socket=unix:///var/run/cri-dockerd.sock \
--apiserver-advertise-address=192.168.177.138 \
--pod-network-cidr=10.244.0.0/16 \
--service-cidr=10.96.0.0/12

- 根据提示执行命令
配置环境变量
# 非root用户请执行
$ 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
# 永久生效,执行kubeadm reset后再次init也无需再次执行这条命令
$ echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
$ source ~/.bash_profile
# 添加节点命令:
kubeadm join 192.168.177.138:6443 --token ybmcig.iv403delaz5p5vfe \
--discovery-token-ca-cert-hash sha256:008183ca74d9f7577684566ca53e801205f0de54ee225deb4fc4d015c828608a
5、安装网络组件
kubectl apply -f kube-flannel.yml
[转帖]离线部署单机kubenetes-1.28.4的更多相关文章
- [转帖]在 Kubernetes 离线部署 KubeSphere
在 Kubernetes 离线部署 KubeSphere https://kubesphere.io/docs/v2.0/zh-CN/installation/install-ks-offline/ ...
- HyperLedger Fabric 1.1 手动部署单机单节点
手动部署单机单节点 之前发布过官方的e2e部署方案,由于环境或是访问权限等各种问题,还是有相当一部分码友无法成功跑起来,故此,本章将来一次纯手动操作的集群部署. 主要需要的步骤如下: 1:环境整理 2 ...
- CDH5.16.1集群企业真正离线部署
一.准备工作 1.离线部署主要分为三块: MySQL离线部署 CM离线部署 Parcel文件离线源部署 2.规划 节点 MySQL部署组件 Parcel文件离线源 CM服务进程 大数据组件 hadoo ...
- TiDB在X86和ARM混合平台下的离线部署和升级
[是否原创]是 [首发渠道]TiDB 社区 背景 在之前我们团队发布了TiDB基于X86和ARM混合部署架构的文章:TiDB 5.0 异步事务特性体验--基于X86和ARM混合部署架构,最近有朋友问到 ...
- Cesium简介以及离线部署运行
Cesium简介 cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎,一款开源3DGIS的js库.cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区 ...
- arcgis api for js入门开发系列一arcgis api离线部署
在我的GIS之家QQ群里,很多都是arcgis api for js开发的新手,他们一般都是GIS专业的学生,或者从计算机专业刚刚转向来的giser,他们难免会遇到各种webgis开发的简单问题,由于 ...
- Node服务一键离线部署
背景说明 项目测试通过,到了上线部署阶段.部署的机器安全限制比较严格,不允许访问外网.此外,没有对外网开放ssh服务,无法通过ssh远程操作. 针对上面提到的两条限制条件,通过下面方式解决: 无法访问 ...
- 微服务架构 - 离线部署k8s平台并部署测试实例
一般在公司部署或者真实环境部署k8s平台,很有可能是内网环境,也即意味着是无法连接互联网的环境,这时就需要离线部署k8s平台.在此整理离线部署k8s的步骤,分享给大家,有什么不足之处,欢迎指正. 1. ...
- arcgis api 4.x for js 离线部署
在我的GIS之家群里,经常遇到 webgis 开发新手们提问 arcgis api for js 如何本地离线部署,而不是直接调用在线的,因为在线模式依赖互联网以及网速环境因素,受到的限制影响比较大. ...
- CentOS6.9下离线部署Django项目
最近项目服务器变动,研究了CentOS6.9下httpd2.4+django1.11.16+python3.6+PostgreSQL的部署,之前还有一个ubuntu16.04下的部署等以后整理好后再来 ...
随机推荐
- libGDX游戏开发之游戏纹理精灵切割(十六)
libGDX游戏开发之游戏纹理精灵切割(十六) libGDX系列,游戏开发有unity3D巴拉巴拉的,为啥还用java开发?因为我是Java程序员emm-国内用libgdx比较少,多数情况需要去官网和 ...
- 新版的Django中的path不能使用正则表达式
新版的path 虽然 取代了 之前的url,但是在写路由的时候不能在路由中直接写正则表达式,不然会找不到页面. 解决方法使用 re_path from django.urls import re_pa ...
- 架构解读丨Volcano作业资源预留设计原理
摘要:本文重点讲解了基于v1.1.0的目标作业资源预留特性的设计和最佳实践.讲解过程中,全面介绍了特性设计过程中的考量因素和算法设计. 资源预留(Reservation)是批处理系统的一类常见需求,也 ...
- 多语言ASR?没有什么听不懂,15种语言我全都要
摘要:在这篇博文中,我们介绍来自Google的一篇论文<Scaling End-to-End Models for Large-Scale Multilingual ASR>,来看看如何构 ...
- 解析WeNet云端推理部署代码
摘要:WeNet是一款开源端到端ASR工具包,它与ESPnet等开源语音项目相比,最大的优势在于提供了从训练到部署的一整套工具链,使ASR服务的工业落地更加简单. 本文分享自华为云社区<WeNe ...
- A/B实验背后的秘密:样本量计算
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 一.前言 背景: AB实验具有一定前瞻性,统计性,科学性的特性.用好了就实现了在大数据时代的充分利用数据分析问题, ...
- IntelliJ IDEA lombok log 报红
pom文件中引用了 lombok 插件,但Intellij 代码里仍然是红色提示,具体操作如下 Mac
- 神经网络优化篇:详解动量梯度下降法(Gradient descent with Momentum)
动量梯度下降法 还有一种算法叫做Momentum,或者叫做动量梯度下降法,运行速度几乎总是快于标准的梯度下降算法,简而言之,基本的想法就是计算梯度的指数加权平均数,并利用该梯度更新的权重. 例如,如果 ...
- 快捷键:mysql + idea + 浏览器
mysql快捷键:ctrl+r 运行查询窗口的sql语句ctrl+shift+r 只运行选中的sql语句ctrl+q 打开一个新的查询窗口ctrl+w 关闭一个查询窗口ctrl+/ 注释sql语句 c ...
- 公共号码池redis实现方案
概述 在企业级呼叫模型中,号码资源总是有限的,企业员工在使用有限的号码资源外呼时,就会有号码冲突的问题,如何解决多人共用少量号码的选号问题? 最近有一个新的业务需求,需要解决公共号码池的选号问题,号码 ...