热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

Kubernetes的离线部署(Ubuntu)方法试验

kubernetes,的,离线,部署,ub

为了在内网上使用Kubernetes,有时候因为网络原因,需要离线进行部署。


裸机安装

我这里使用Ubuntu进行试验,需要解决几个问题:

  1. Ubuntu的离线安装。下载,安装时选择不联网可以正常完成,没有问题。
  2. Ubuntu的包更新,应用系统包必须更新到较新版本,否则有的软件安装不上。
    • 这个可以通过建立本地内网的Archive镜像来实现。
      • 这个其实嘛,最好是全部抓源码自己编译,搞个分发版。不过难度和资源都比较大,还是吃现成的吧。
      • 先镜像下来整个最新的软件包。参考:
        • 创建Ubuntu安装包服务镜像的脚本,https://my.oschina.net/u/2306127/blog/1622218
        • 建立Ubuntu apt的本地Mirror,https://my.oschina.net/u/2306127/blog/541895

        • 使用容器技术搭建apt镜像站,https://my.oschina.net/u/2306127/blog/1626991

        • 使用IPFS搭建Ubuntu apt镜像站点,https://my.oschina.net/u/2306127/blog/1626254

      • 再把archive包目录全部复制到内网(物理拷贝或通过网闸),然后建立mirror服务。
        • 使用apt-mirror或者nginx、ipfs建立静态网站服务即可。
    • 修改/etc/apt/sources.list或该目录下相关文件,指向到新建立的服务。
      • 然后运行 sudo apt update && sudo apt upgrade -y即可更新安装包了。
  3. Docker容器引擎的下载和离线安装,这是Kubernetes运行的基础了。
    • 如果使用GPU,还需要下载Nvidia-Docker并进行安装。
  4. kubeadm/kubectl/kubelet的安装,这是Kubernetes运行的几个基础文件。其它的部分都已经容器化了,通过容器的离线下载进行部署。
  5. Kubernetes系统容器的下载和安装。需要几个步骤来完成。
    • 通过脚本下载(需要周转的哈)到本地(参考 Ubuntu 18.04 LTS安装Kubernetes 1.11)。
    • 然后export到容器档案格式。
    • 复制到内部网络环境。
    • 对容器档案解包,恢复为Docker镜像。
  6. 使用kubeadm或其它工具进行安装。与在线安装基本相同,需要指定安装的版本,否则会去在线搜索。
    • 参考 Ubuntu 18.04 LTS安装Kubernetes 1.11。

更多方法

还有其它的办法(满足的需求和效果不同),包括:

  • 在网络环境下,做好虚拟机,然后整个放到内网上运行。但是,更新还需要单独处理,而且需要注意软件和数据的安全性。
  • 使用DinD(Docker in Docker),跟虚拟机类似,不同的是整个Kubernetes集群都运行在Docker中。
  • 建立自己的操作系统分发版,把相关软件打包进去。

其它参考

  • 用kubeadm离线部署kubernetes v1.9.0,https://blog.csdn.net/u012286287/article/details/79716588
  • Kubernetes-基于Rancher进行Kubernetes的离线安装,https://www.kubernetes.org.cn/4089.html

  • 推荐,使用的centos:[K8s 1.9实践]Kubeadm 1.9 HA 高可用 集群 本地离线镜像部署

本文转自-Kubernetes的离线部署(Ubuntu)方法试验
推荐阅读
  • 在使用Coursera平台学习吴恩达的机器学习课程时遇到视频无法正常播放的问题。经过查阅网络资料,发现了一些解决方法。由于本人主要使用的是Ubuntu系统,因此提供了一些针对该系统的解决方案。具体操作步骤和详细说明请参考博客文章:[链接]。 ... [详细]
  • 如何将PHP文件上传至服务器及正确配置服务器地址 ... [详细]
  • Ceph API微服务实现RBD块设备的高效创建与安全删除
    本文旨在实现Ceph块存储中RBD块设备的高效创建与安全删除功能。开发环境为CentOS 7,使用 IntelliJ IDEA 进行开发。首先介绍了 librbd 的基本概念及其在 Ceph 中的作用,随后详细描述了项目 Gradle 配置的优化过程,确保了开发环境的稳定性和兼容性。通过这一系列步骤,我们成功实现了 RBD 块设备的快速创建与安全删除,提升了系统的整体性能和可靠性。 ... [详细]
  • Linux磁盘管理入门指南:MBR分区格式详解与安装步骤
    在 CentOS 7.x 环境下,本文详细介绍了 MBR 分区格式的基本概念及其安装步骤。实验中使用了 SAS 和 SATA 硬盘,其中 SAS 硬盘主要用于企业级应用和服务器,而 SATA 硬盘则广泛应用于个人计算机和低端服务器。文章通过具体操作示例,帮助读者更好地理解和掌握 Linux 磁盘管理的基本技能。 ... [详细]
  • 利用PaddleSharp模块在C#中实现图像文字识别功能测试
    PaddleSharp 是 PaddleInferenceCAPI 的 C# 封装库,适用于 Windows (x64)、NVIDIA GPU 和 Linux (Ubuntu 20.04) 等平台。本文详细介绍了如何使用 PaddleSharp 在 C# 环境中实现图像文字识别功能,并进行了全面的功能测试,验证了其在多种硬件配置下的稳定性和准确性。 ... [详细]
  • 深入解析:RKHunter与AIDE在入侵检测中的应用与优势
    本文深入探讨了RKHunter与AIDE在入侵检测领域的应用及其独特优势。通过对比分析,详细阐述了这两种工具在系统完整性验证、恶意软件检测及日志文件监控等方面的技术特点和实际效果,为安全管理人员提供了有效的防护策略建议。 ... [详细]
  • 对于内存仅为512MB、硬盘80GB的老旧设备,部署Ubuntu Server毫无压力。然而,许多平台仅支持CentOS系统,而CentOS默认要求1GB以上内存才能使用图形界面安装。实际上,安装完成后,即使内存低至256MB也能正常运行。此外,通过优化系统配置和减少不必要的服务,可以进一步提升系统性能,确保在资源受限的环境中稳定运行。 ... [详细]
  • 本文介绍了在Windows 10系统下使用VirtualBox虚拟机环境部署CentOS 7.2,并在其上安装Docker的具体步骤。针对宝塔面板在Docker容器中磁盘空间限制为8GB的问题,提供了详细的解决方案和优化建议,确保用户能够高效利用有限的存储资源。 ... [详细]
  • 本文详细探讨了Linux系统中`dd`命令的基础用法及其高级功能扩展。通过实例分析,介绍了如何利用`dd`进行数据复制、磁盘镜像创建以及文件系统恢复等操作,为用户提供了一套全面的技术指南。此外,文章还深入解析了`dd`命令的工作原理及其在实际应用场景中的优化技巧,帮助读者更好地掌握这一强大工具。 ... [详细]
  • 在Ubuntu和Linux Mint系统中安装LibreOffice 6.0的详细步骤
    本文详细介绍了在Ubuntu和Linux Mint操作系统上安装LibreOffice 6.0的具体步骤,包括必要的系统准备、软件源配置以及命令行操作,确保用户能够顺利安装并使用这一开源办公套件。 ... [详细]
  • 前言: 网上搭建k8s的文章很多,但很多都无法按其说明在阿里云ecs服务器成功搭建,所以我就花了些时间基于自己成功搭建k8s的步骤写了个操作手册,希望对想搭建k8s环境的盆友有所帮 ... [详细]
  • Kubernetes部署常见问题及解决方案汇总
    本文汇总了在Kubernetes部署过程中常见的问题及其解决方案,涵盖了从配置错误到网络故障等多个方面,旨在帮助开发人员和运维人员快速定位并解决实际操作中遇到的技术难题。通过详细的案例分析和最佳实践建议,读者可以更好地理解和掌握Kubernetes的部署技巧,提高系统的稳定性和可靠性。 ... [详细]
  • Python 实战:异步爬虫(协程技术)与分布式爬虫(多进程应用)深入解析
    本文将深入探讨 Python 异步爬虫和分布式爬虫的技术细节,重点介绍协程技术和多进程应用在爬虫开发中的实际应用。通过对比多进程和协程的工作原理,帮助读者理解两者在性能和资源利用上的差异,从而在实际项目中做出更合适的选择。文章还将结合具体案例,展示如何高效地实现异步和分布式爬虫,以提升数据抓取的效率和稳定性。 ... [详细]
  • Java 中 print、println 和 printf 的功能与区别详解
    在 Java 中,`print` 方法将参数内容输出到控制台,并将光标停留在最后一个字符的后面。而 `println` 方法不仅显示参数内容,还会在输出结束后自动添加一个换行符,使下一次输出从新的一行开始。此外,`printf` 方法则提供了更灵活的格式化输出选项,允许用户通过指定格式字符串来控制输出的格式和样式。这三种方法各有特点,适用于不同的输出需求。 ... [详细]
  • 今天与一位老同事相约见面,讨论了我即将加入的新公司的情况及未来发展的初步规划。下班后,他在公司找到了我,晚上7点左右我们在凯德mall共进晚餐,选择了一家环境舒适的餐厅。这次交流不仅加深了我们的情谊,还为我的职业发展提供了宝贵的意见和建议。 ... [详细]
author-avatar
php.net
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有