首页 > 系统相关 >K8S教程:如何使用Kubeadm命令在PetaExpress Ubuntu系统上安装Kubernetes集群

K8S教程:如何使用Kubeadm命令在PetaExpress Ubuntu系统上安装Kubernetes集群

时间:2024-07-15 13:07:23浏览次数:9  
标签:kubectl Kubernetes PetaExpress sudo apt Ubuntu net 节点

  

  Kubernetes,通常缩写为K8s,是一个开源的容器编排平台,旨在自动化容器化应用的部署、扩展和管理。有了Kubernetes,您可以轻松地部署、更新和扩展应用,而无需担心底层基础设施。

  一个Kubernetes集群由控制平面节点(master节点)和工作节点(worker节点)组成。确保集群的高效运行和管理的顺畅进行。我们通常在工作节点上运行应用工作负载,而控制平面节点作为控制平面,用于管理集群中的工作节点和Pod。

  前提条件

  首先我们需要准备一台云服务器,我是在PetaExpress领了一台免费的云服务器,https://cn.petaexpress.com,文章结尾告诉你申请步骤。

  在本指南中,我们使用一台控制平面节点和两台工作节点。以下是每个节点的系统要求:

  · 安装了最小化的Ubuntu 22.04

  · 最少2GB内存或更多

  · 至少2个CPU核心或2个vCPU

  · /var上至少有20GB的可用磁盘空间

  · 具有管理员权限的Sudo用户

  · 每个节点都有可以互通

  ·

  实验设置

  · 控制平面节点:172.20.0.2– k8smaster.example.net

  · 第一工作节点:172.20.0.3 – k8sworker1.example.net

  · 第二工作节点:172.20.0.4 – k8sworker2.example.net

  1)设置每个节点的主机名

  登录到PetaExpress控制平面节点并通过hostnamectl命令设置主机名:

  $ sudo hostnamectl set-hostname "k8smaster.example.net"

  $ exec bash

  在工作节点上,运行:

  $ sudo hostnamectl set-hostname "k8sworker1.example.net" // 第一工作节点

  $ sudo hostnamectl set-hostname "k8sworker2.example.net" // 第二工作节点

  $ exec bash

  在每个节点的 /etc/hosts 文件中添加以下行:

  172.20.0.2 k8smaster.example.net k8smaster

  172.20.0.3 k8sworker1.example.net k8sworker1

  172.20.0.4 k8sworker2.example.net k8sworker2

  2)禁用交换分区并添加内核参数

  执行以下swapoff和sed命令以禁用交换分区。确保在所有节点上运行以下命令:

  $ sudo swapoff -a

  $ sudo sed -i '/ swap / s/^(.*)$/#\1/g' /etc/fstab

  在所有节点上加载以下内核模块:

  $ sudo tee /etc/modules-load.d/containerd.conf <

  overlay

  br_netfilter

  EOF

  $ sudo modprobe overlay

  $ sudo modprobe br_netfilter

  为Kubernetes设置以下内核参数,运行以下tee命令:

  $ sudo tee /etc/sysctl.d/kubernetes.conf <

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

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

  net.ipv4.ip_forward = 1

  EOT

  重新加载上述更改,运行:

  $ sudo sysctl --system

  3)安装Containerd run time

  在本指南中,我们使用Containerd作为Kubernetes集群的run time。因此,要安装Containerd,首先安装其依赖项:

  $ sudo apt install -y curl gnupg2 software-properties-common apt-transport-https ca-certificates

  启用Docker仓库:

  $ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/docker.gpg

  $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

  现在,运行以下apt命令以安装Containerd:

  $ sudo apt update

  $ sudo apt install -y containerd.io

  配置Containerd以便其使用systemd作为cgroup:

  $ containerd config default | sudo tee /etc/containerd/config.toml >/dev/null 2>&1

  $ sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml

  重启并启用Containerd服务:

  $ sudo systemctl restart containerd

  $ sudo systemctl enable containerd

  4)添加Kubernetes的Apt仓库

  Kubernetes包在默认的Ubuntu 20.04包仓库中不可用。因此,我们需要添加Kubernetes仓库。运行以下命令以下载公共签名密钥:

  $ curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg

  接下来,运行以下echo命令以添加Kubernetes apt仓库:

  $ echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.28/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list

  5)安装Kubectl、Kubeadm和Kubelet

  添加仓库后,在所有节点上安装Kubernetes组件,如kubectl、kubelet和kubeadm工具。执行以下命令:

  $ sudo apt update $ sudo apt install -y kubelet kubeadm kubectl $ sudo apt-mark hold kubelet kubeadm kubectl

  6)在Ubuntu 22.04上安装Kubernetes集群

  现在,我们已经准备好初始化Kubernetes集群。仅在控制平面节点上运行以下kubeadm命令:

  $ sudo apt update

  $ sudo apt install -y kubelet kubeadm kubectl

  $ sudo apt-mark hold kubelet kubeadm kubectl

  上述命令的输出:

  初始化完成后,您将看到一条包含如何将工作节点加入集群的指令的信息。请记录下kubeadm join命令以供将来参考。

  因此,要开始与集群交互,请在控制平面节点上运行以下命令:

  $ mkdir -p $HOME/.kube

  $ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

  $ sudo chown $(id -u)

标签:kubectl,Kubernetes,PetaExpress,sudo,apt,Ubuntu,net,节点
From: https://www.cnblogs.com/petaexpress71/p/18302954

相关文章

  • Tool-Docker-Ubuntu18.04
    Tool-Docker-Ubuntu18.04在Ubuntu18.04的操作系统上安装Docker,并实现镜像导入与容器运行。DockerHomeDockerDownload由于docker官网访问异常,借用阿里云开源镜像站下载安装包。DockerCE镜像docker-ce镜像下载页安装项:containerd.io_1.5.10-1_amd64.debdocker-ce......
  • usbip-server,Windows使用WSL实现usb设备的远程接入ubuntu
    一.写在前面    本篇内容参考微软写的WSL教程,整理了在实现项目的过程中遇到的问题和解决方案,希望可以帮到大家,原文链接连接USB设备|MicrosoftLearn二.目标    使用开源项目usbip-win,将在windows上接入的usb设备连接到在WSL上运行的linux发行版三.先决......
  • ubuntu中nginx部署服务器后添加SSL证书解决SSL handshake failed问题
    文章思路:写这篇文章主要是本人在使用nginx部署好服务器后,采用浏览器打开服务器地址;在采用pyqt开发的软件中,采用QNetwork模块连接后,想下载服务器的zip压缩包时,发现QNetwork提示报了SSLhandshakefailed异常问题解决方式:添加SSL证书进行解决,目前要获取根证书有以下方式;(1)从证......
  • 基于Ubuntu 24.04 LTS安装elasticsearch-8.14.3+Kibanna
    1.安装Elasticsearch1.1下载Elasticsearch#1.更新包索引sudoaptupdate#2.升级已安装的软件包sudoaptupgrade-y#3.进入/opt目录cd/opt#4.下载Elasticsearch压缩包sudowgethttps://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8......
  • Ubuntu如何设置中文系统环境
    最近又重新下载Ubuntu了,在这里留下个脚印,做个记录步骤一:安装中文语言包打开终端(Terminal),分别输入以下命令行sudoaptupdatesudoapt-getinstalllanguage-pack-zh-hans步骤二:设置中文环境1.添加中文语言sudodpkg-reconfigurelocales用方向键往下翻找,直到看见zh_CN......
  • MacBook m1使用Qemu搭建Ubuntu虚拟机
    虽然macOS和Linux类似,但毕竟不同。学习Linux,就需要一个真实的Linux环境,思来想去,决定用qemu装一个Ubuntu虚拟机。liheng@~$sw_versProductName: macOSProductVersion: 14.5BuildVersion: 23F79安装brewhttps://brew.idayer.com/guide/m1/安装qemubrewinstallqemul......
  • ubuntu 基本操作
    安装输入法参考Ubuntu22.04安装搜狗输入法【经验分享】Ubuntu24.04安装搜狗输入法(亲测有效)[问题求助]安装搜狗输入法显示fcitx依赖不足该怎么处理desktop快捷方式检测desktop文件desktop-file-validatemyapp.desktop更新.desktop数据库更新如下两个位置的.de......
  • 小米 6 刷机 Ubuntu Touch 的踩坑记录
    LICENSE:CCBY-NC-SA4.0前言百度网盘你【数据删除】。正文之前给小米6安装了LinuxDeploy,但是跑个cpu占用高点的东西就不行了(?),于是决定刷上Linux。现在比较流行的刷原生linux的方案大概也就ubuntutouch和postmarketOS了。我选择了ubuntutouch。然而官方的u......
  • 【远程软件安装记录】——nomachnine、todesk、向日葵、等远程软件在ubuntu中的安装教
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、todesk的安装1.安装二、向日葵的下载安装1.安装三、nomachine的下载安装1.nomachine的下载2.nomachine的安装总结前言TeamViewer、向日葵和NoMachine是备受Ubuntu系统用户推崇......
  • Kubernetes近十年里程碑及版本偏差策略
    1、Kubernetes十年回顾Kubernetes的历史始于2014年6月6日的那次历史性提交,随后,Google工程师EricBrewer在2014年6月10日的DockerCon2014上的主题演讲(及其相应的Google博客)中由宣布了该项目。在接下来的一年里,一个由主要来自Google和RedHat......