环境准备

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之前是开的,需要重启服务器


一、 部署包准备

tar zxvf kubenetes-1.28.4-oe2203sp2.tar.gz

二、 安装docker及cri-docker

  • 安装软件包
cd kubenetes-1.28.4-oe2203sp2/docker-ce/
rpm -ivh *.rpm
 
image.png
  • 修改配置文件
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
 
image.png

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
 
image.png

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
 
image.png
  • 根据提示执行命令
配置环境变量
# 非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的更多相关文章

  1. [转帖]在 Kubernetes 离线部署 KubeSphere

    在 Kubernetes 离线部署 KubeSphere https://kubesphere.io/docs/v2.0/zh-CN/installation/install-ks-offline/ ...

  2. HyperLedger Fabric 1.1 手动部署单机单节点

    手动部署单机单节点 之前发布过官方的e2e部署方案,由于环境或是访问权限等各种问题,还是有相当一部分码友无法成功跑起来,故此,本章将来一次纯手动操作的集群部署. 主要需要的步骤如下: 1:环境整理 2 ...

  3. CDH5.16.1集群企业真正离线部署

    一.准备工作 1.离线部署主要分为三块: MySQL离线部署 CM离线部署 Parcel文件离线源部署 2.规划 节点 MySQL部署组件 Parcel文件离线源 CM服务进程 大数据组件 hadoo ...

  4. TiDB在X86和ARM混合平台下的离线部署和升级

    [是否原创]是 [首发渠道]TiDB 社区 背景 在之前我们团队发布了TiDB基于X86和ARM混合部署架构的文章:TiDB 5.0 异步事务特性体验--基于X86和ARM混合部署架构,最近有朋友问到 ...

  5. Cesium简介以及离线部署运行

    Cesium简介 cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎,一款开源3DGIS的js库.cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区 ...

  6. arcgis api for js入门开发系列一arcgis api离线部署

    在我的GIS之家QQ群里,很多都是arcgis api for js开发的新手,他们一般都是GIS专业的学生,或者从计算机专业刚刚转向来的giser,他们难免会遇到各种webgis开发的简单问题,由于 ...

  7. Node服务一键离线部署

    背景说明 项目测试通过,到了上线部署阶段.部署的机器安全限制比较严格,不允许访问外网.此外,没有对外网开放ssh服务,无法通过ssh远程操作. 针对上面提到的两条限制条件,通过下面方式解决: 无法访问 ...

  8. 微服务架构 - 离线部署k8s平台并部署测试实例

    一般在公司部署或者真实环境部署k8s平台,很有可能是内网环境,也即意味着是无法连接互联网的环境,这时就需要离线部署k8s平台.在此整理离线部署k8s的步骤,分享给大家,有什么不足之处,欢迎指正. 1. ...

  9. arcgis api 4.x for js 离线部署

    在我的GIS之家群里,经常遇到 webgis 开发新手们提问 arcgis api for js 如何本地离线部署,而不是直接调用在线的,因为在线模式依赖互联网以及网速环境因素,受到的限制影响比较大. ...

  10. CentOS6.9下离线部署Django项目

    最近项目服务器变动,研究了CentOS6.9下httpd2.4+django1.11.16+python3.6+PostgreSQL的部署,之前还有一个ubuntu16.04下的部署等以后整理好后再来 ...

随机推荐

  1. Docker下的SqlServer发布订阅启用

    一.准备一个Docker的sqlserver #创建挂载数据文件夹 mkdir -p /home/mssql/data #创建挂载日志文件夹 mkdir /home/mssql/log #给文件夹权限 ...

  2. JavaFx之ScrollPane滚动板面、CheckBox复选框(二十四)

    JavaFx之ScrollPane滚动板面.CheckBox复选框(二十四) 多个复选框时可能会超出屏幕,需要使用滚动版面. 布局方式:ScrollPane包括VBox.VBox 包括多个 Check ...

  3. Java 设置Excel页面背景

    本文介绍通过Java 程序在Excel表格中设置页面背景的方法,可设置颜色背景(即指定单一颜色作为背景色).图片背景(即加载图片设置成页面背景).程序中需要使用免费版Excel类库工具 Free Sp ...

  4. 详解ZooKeeper在微服务注册中心的应用

    本文分享自华为云社区<SpringCloud ZooKeeper 详解,以及与Go.Rust等非Java服务的集成>,作者: 张俭. ZooKeeper,是一个开源的分布式协调服务,不仅支 ...

  5. 案例解析关于ArkUI框架中ForEach的潜在陷阱与性能优化

    本文分享自华为云社区<深入解析ForEach的潜在陷阱与性能优化:错误用法与性能下降的案例分析>,作者:柠檬味拥抱 . 在ArkUI框架中,ForEach接口是基于数组类型数据进行循环渲染 ...

  6. Mock服务设计与实现:MySQL驱动字节码修改增强

    摘要:华为导流测试平台通过对线上流量回放到被测环境中,利用线上真实流量进行充分测试,保证业务系统稳定上线.但是业务在导流测试过程中现网数据库往往难以同步到测试环境,导致现网数据无法正常回放,测试价值降 ...

  7. 用100W+行代码贡献经验,带你了解如何参与OpenHarmony开源

    摘要:截至2022年11月,深开鸿共计参与共建OpenAtom OpenHarmony(以下简称OpenHarmony)社区16个SIG,其中4个为深开鸿主导,并累计贡献代码量超过百万行. 本文分享自 ...

  8. 下载安装Ipa Guard

    ​ 可以前往ipaguard工具官网下载,工具是免费下载,免费体验使用的.下载地址是https://www.ipaguard.com. 下载后解压工具便ok了,工具是绿色软件,无需其他安装流程.双击I ...

  9. 火山引擎DataTester:如何使用A/B测试优化全域营销效果

      当前,营销技术步入了全渠道.全周期的全域时代,随着广泛的数据积累,数据科学技术在营销领域发挥着越来越重要的作用,从消费者人群洞察到智能化信息广告投放,营销的提效让企业得以在转化的每个环节提升影响力 ...

  10. 应用火山引擎 DataTester“避坑”,抖音实现用 A/B 实验快速试错

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 A/B 测试产品可以说是企业科学决策的基础"设施",能够帮助企业快速迭代产品. 在字节跳动,每 ...