移动云主机ECS搭建Kubernetes集群:详细步骤与指南

目录

  • 云主机 ECS:云计算的强大引擎
    • 什么是云主机ECS?
    • 为何选择云主机ECS?
  • 使用移动云ECS进行Kubernetes集群搭建
    • 1. 环境准备
    • 2. 安装步骤
      • 2.1 在每一个节点上执行的操作
        • 2.1.1 系统准备
        • 2.1.2 安装Docker
        • 2.1.3 安装Kubernetes的安装组件
      • 2.2 在Master节点上执行的操作
      • 2.3 在Node节点上执行的操作

云主机 ECS:云计算的强大引擎

在日益数字化的世界中,企业和个人都正在寻找能够提供灵活、可革新的计算解决方案。云主机ECS(Elastic Compute Server)作为一种云计算服务,正好满足了这种需求。
在这里插入图片描述

什么是云主机ECS?

云主机ECS是一种提供高可靠和弹性扩展的计算服务。它允许用户按需获取云端服务器,根据业务需求选择不同规格的CPU、内存、操作系统、硬盘和网络。这种灵活性使得云主机ECS能够满足广泛的业务需求,从基本的网站托管到复杂的企业应用。
在这里插入图片描述

为何选择云主机ECS?

云主机ECS为用户提供了一种快速、灵活的方式来构建和扩展应用。从订购到使用,仅需数十秒时间,这使得用户能够立即开始工作,并根据需求灵活地增加或减少资源。

由于是在云端,云主机ECS可以提供高度的可靠性。数据不再局限于单一的物理服务器,而是分布在云的多个地方,这大大增加了数据的安全性和可用性。

使用移动云ECS进行Kubernetes集群搭建

接下来将演示如何使用移动云ECS服务器搭建一个简单的Kubernetes集群环境。此处将使用两台ECS服务器,一台作为Master节点,一台作为Node节点。您也可以根据实际需要,后期按照步骤继续增加Node节点。

1. 环境准备

我们在移动云平台选择两台ECS服务器作为我们的Kubernetes集群环境。Master节点和Node节点的配置如下:

  • Master节点:2核CPU、4GiB内存、Centos7.6 64位操作系统、带宽:1Mbps
  • Node节点:2核CPU、4GiB内存、Centos7.6 64位操作系统,带宽:1Mbps
    在这里插入图片描述
    在移动云ECS安全组规则中,我们需要将公网所有端口都开放,以确保集群中的节点可以相互通信。
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
我们将使用以下版本的软件进行集群安装:

  • Kubernetes (k8s): v1.15.0
  • Docker: docker-ce-18.06.1.ce-3.el7
  • Etcd: 3.3.10
  • Dashboard: v1.10.1
  • Flannel: v0.11.0-amd64
  • CoreDns: 1.3.1
  • Pause: 3.1

在这里插入图片描述

2. 安装步骤

以下是安装Kubernetes集群的详细步骤。在每一个节点上都需要进行以下的操作:

2.1 在每一个节点上执行的操作

2.1.1 系统准备

在Kubernetes集群中,为了保证其高效运行,我们需要在每个节点上关闭防火墙、SWAP分区以及Selinux,同时将系统中桥接的IPv4以及IPv6的流量串通。下面是具体的命令:

#关闭防火墙
systemctl stop firewalld
systemctl disable firewalld#暂时关闭SWAP分区
swapoff -a#永久禁用SWAP分区
swapoff -a && sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab#禁用Selinux
setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config#将系统中桥接的IPv4以及IPv6的流量串通
cat >/etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system
2.1.2 安装Docker

我们使用镜像进行Docker的安装。首先下载镜像仓库描述文件,然后进行Docker的安装和配置。

#安装Docker
yum -y install docker-ce-18.06.1.ce-3.el7#启动Docker服务并设置开机自启动
systemctl enable docker && systemctl start docker#设置Docker参数,确保其与Kubernetes的参数一致
cat > /etc/docker/daemon.json <<EOF
{"exec-opts": ["native.cgroupdriver=systemd"],"log-driver": "json-file","log-opts": {"max-size": "100m"},"storage-driver": "overlay2","storage-opts": ["overlay2.override_kernel_check=true"]
}
EOFmkdir -p /etc/systemd/system/docker.service.d#重启Docker服务
systemctl daemon-reload
systemctl restart docker

在这里插入图片描述

2.1.3 安装Kubernetes的安装组件

在安装k8s之前,我们需要添加其yum源。

#增加Kubernetes yum源
vi /etc/yum.repos.d/kubernetes.repo# 输入如下内容
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enable=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg# 安装Kubeadm、Kubelet、Kubectl
yum install -y kubelet-1.15.0 kubeadm-1.15.0 kubectl-1.15.0# 开启kubelet服务
systemctl enable kubelet.service

在这里插入图片描述

2.2 在Master节点上执行的操作

# 初始化Master节点
kubeadm init \
--apiserver-advertise-address=此处为Master节点的公网IP\
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.15.0 \
--service-cidr=10.1.0.0/16 \
--pod-network-cidr=10.244.0.0/16

请注意,--apiserver-advertise-address 参数应输入Master节点的公网IP地址,--service-cidr--pod-network-cidr 分别设定service和pod的网络CIDR。

在Master节点初始化完成后,会产生一个token,这个token在后期Node节点加入集群时会用到,因此请注意保存。

2.3 在Node节点上执行的操作

回到Node节点,使用master上生成的token执行join命令,将Node节点加入到Master节点形成的集群。

kubeadm join <master-ip>:6443 --token <token>

这样就完成了集群的搭建。我们可以通过以下命令查看节点状态:

kubectl get node

初始时,节点状态可能是NotReady,这是因为我们还需要部署网络插件。在Kubernetes集群中,其所有的节点的网络是扁平的,这需要我们的设置。对于网络插件,我们这里选择使用Flannel。

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

网络插件部署完成后,我们可以再次查看节点状态,此时应该已经变为Ready。

至此,我们就已经成功的使用移动云ECS服务器搭建了一个简单的Kubernetes集群环境。
可以成功访问到控制台。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/333161.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

chrome浏览器驱动下载

跑自动化的时候&#xff0c;需要打开谷歌浏览器&#xff0c;这个时候提示浏览器驱动找不到咋办呢&#xff1f; 1、网上搜索找到了这篇文章&#xff1a;https://www.cnblogs.com/laoluoits/p/17710501.html&#xff1b;按照文章介绍&#xff0c; 首先找到&#xff1a;CNPM Bin…

捷报!恒瑞医药ADC创新药SHR-A1921卵巢癌适应症拟纳入突破性治疗品种公示

近日&#xff0c;恒瑞医药自主研发的TROP-2抗体偶联药物&#xff08;antibody-drug-conjugate, ADC&#xff09;注射用SHR-A1921用于治疗铂耐药复发上皮性卵巢癌、输卵管癌或原发性腹膜癌适应症被国家药品监督管理局药品审评中心拟纳入突破性治疗品种公示名单。今年3月&#xf…

内网安全--域渗透准备知识

目录 知识点&#xff1a; 0x01 0x02 0x03 系列点&#xff1a; Linux主机信息收集 windows主机信息收集 知识点&#xff1a; 0、域产生原因 1、内网域的区别 2、如何判断在域内 3、域内常见信息收集 4、域内自动化工具收集 -局域网&工作组&域环境区别 -域…

Linux如何在目录下灵活创建、浏览、删除百万个文件

文章目录 一、创建百万级小文件1、单核CPU情况2、多核CPU情况3、执行效率对比3.1、单核的顺序执行3.2、多核的并发执行 二、如何列出/浏览这些文件1、查看目录下文件的数量2、列出&#xff1f;3、ls -f&#xff08;关闭排序功能&#xff09;3.1、执行效率对比 4、通过重定向导入…

HiWoo Box边缘计算网关

​在数字化浪潮汹涌的今天&#xff0c;边缘计算网关成为了连接物理世界与数字世界的桥梁&#xff0c;其重要性日益凸显。HiWoo Box&#xff0c;作为一款功能强大的边缘计算网关&#xff0c;不仅具备了传统网关的基本功能&#xff0c;更在数据采集、处理、传输等方面展现出了卓越…

“二叉堆:不是,啊?”

目录 前言一、堆的概念及结构堆的性质&#xff1a;堆的结构:最大堆最小堆堆顶注意 二、堆的实现1.初始化堆2. 堆的插入什么是堆的向上调整算法&#xff1f; 3.堆的删除什么是堆的向下调整算法&#xff1f; 4.获取堆顶的数据5.获取堆的数据个数6.堆的判空7.堆的销毁 三、建堆的时…

一文了解安卓内存抖动

目录 目录一、什么是内存抖动&#xff1f;1.1 Android里的内存抖动1.2 如何直观查看这种现象1.3 内存抖动带来的风险 二、如何避免内存抖动 目录 一、什么是内存抖动&#xff1f; 在程序里&#xff0c;每创建一个对象&#xff0c;就会有一块内存分配给它&#xff0c;每分配一…

超详细的前后端实战项目(Spring系列加上vue3)前后端篇(四)(一步步实现+源码)

兄弟们&#xff0c;继昨天的代码之后&#xff0c;继续完成最后的用户模块开发&#xff0c; 昨天已经完成了关于用户的信息编辑页面这些&#xff0c;今天再完善一下&#xff0c; 从后端这边开始吧&#xff0c;做一个拦截器&#xff0c;对用户做身份校验&#xff0c; 拦截器 这…

燃数科技前端25-40K*14薪一面超简单,下周二面啦

​​​​​​​ 文章末尾扫描二维码领取地址 一面 1、自我介绍 2、低代码如何设计的 3、react路由原理 4、react生命周期 5、什么是回调地狱&#xff0c;如何解决 6、jwt和session有什么区别 7、js文件相互引用有什么问题&#xff1f;如何解决 8、一个很大的json文件…

安卓手机APP开发__平台的架构

安卓手机APP开发__平台的架构 目录 概述 安卓软件栈 Linux内核 硬件抽象层(HAL) 安卓运行时 原生的C/C代码库 Java API框架 系统APP 概述 安卓是一个开源的&#xff0c;基于Linux的软件栈&#xff0c;它创建一个设备和形式因素的很宽的矩阵。 下图展示了安卓平台的所有…

全方位质量保障!龙蜥在内核、软件包、容器镜像、三方模块的 CI 工程实践

编者按&#xff1a;在海量的代码测试和构建中&#xff0c; CI(Continuous Integration)在代码提交阶段&#xff0c;对提高软件质量和开发效率起到了至关重要的作用。2023 龙蜥操作系统大会全面繁荣开发者生态分论坛上&#xff0c;龙蜥社区 QA SIG Maintainer、联通数科 CUlinux…

YOLOv8 Closing dataloader mosaic

在使用YOLOV8训练时&#xff0c;epoch训练到最后10次出现”Closing dataloader mosaic"&#xff0c;又不是报错&#xff0c;但又不往下进行训练&#xff0c;有点懵了&#xff0c;后面经过了解&#xff0c;Yolov8是默认设置close_mosaic10&#xff0c;需要把它修改为0; clo…

什么是HTTP代理?适用于哪些场景?

HTTP代理是一种网络代理服务器&#xff0c;它主要用于处理HTTP协议的请求和响应。HTTP代理充当客户端&#xff08;如浏览器&#xff09;和目标服务器之间的中介&#xff0c;允许客户端通过代理服务器来发送HTTP请求&#xff0c;并接收来自服务器的响应。HTTP代理可以分为正向代…

C++ 虚函数和纯虚函数

虚函数 #include <iostream> using namespace std; class Vehicle //交通工具 { public:void run() const{cout << "run a vehicle. " << endl;} }; class Car : public Vehicle //汽车 { public:void run() const{cout << "run a c…

报名倒计时!「飞天技术沙龙-CentOS 迁移替换专场」参会指南

为帮助广大用户诊断 CentOS 迁移替换过程中的疑难杂症&#xff0c;「飞天技术沙龙-CentOS 迁移替换专场」将于 5 月 29 日&#xff08;周三&#xff09;在北京举办&#xff0c;将围绕如何在确保服务的连续性和稳定性的前提下实现平滑迁移及如何最大限度地利用现有资源前提下确保…

R可视化:另类的箱线图

介绍 方格状态的箱线图 加载R包 knitr::opts_chunk$set(echo TRUE, message FALSE, warning FALSE) library(patternplot) library(png) library(ggplot2) library(gridExtra)rm(list ls()) options(stringsAsFactors F)导入数据 data <- read.csv(system.file(&qu…

营销短信XML接口对接发送示例

在现代社会中&#xff0c;通信技术日新月异&#xff0c;其中&#xff0c;短信作为一种快速、简便的通信方式&#xff0c;仍然在日常生活中占据着重要的地位。为了满足各种应用场景的需求&#xff0c;短信接口应运而生&#xff0c;成为了实现高能有效通信的关键。 短信接口是一种…

使用RAG和文本转语音功能,我构建了一个 QA 问答机器人

节前&#xff0c;我们星球组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、参加社招和校招面试的同学. 针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 汇总合集&…

Spring 事务源码分析

前言&#xff1a; 我们知道 Spring 声明式事务是通过 AOP 来实现的&#xff0c;日常项目开发中我们只需要使用 Transactional 注解就可以实现声明式事务&#xff0c;那你知道通过 Transactional 注解怎样实现事务的吗&#xff1f;本篇我们将从源码来分析 Spring 声明式事务的执…