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

2024-05-27 11:04

本文主要是介绍移动云主机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集群环境。
可以成功访问到控制台。
在这里插入图片描述

这篇关于移动云主机ECS搭建Kubernetes集群:详细步骤与指南的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1007297

相关文章

自研四振子全向增益天线! 中兴问天BE6800Pro+路由器拆机和详细评测

《自研四振子全向增益天线!中兴问天BE6800Pro+路由器拆机和详细评测》中兴问天BE6800Pro+路由器已经上市,新品配备自研四振子全向增益天线,售价399元,国补到手339.15元,下面我们... 中兴问天BE6800Pro+路由器自上市以来,凭借其“旗舰性能,中端价格”的定位,以及搭载三颗自研芯片

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

Python日期和时间完全指南与实战

《Python日期和时间完全指南与实战》在软件开发领域,‌日期时间处理‌是贯穿系统设计全生命周期的重要基础能力,本文将深入解析Python日期时间的‌七大核心模块‌,通过‌企业级代码案例‌揭示最佳实践... 目录一、背景与核心价值二、核心模块详解与实战2.1 datetime模块四剑客2.2 时区处理黄金法

ubuntu20.0.4系统中安装Anaconda的超详细图文教程

《ubuntu20.0.4系统中安装Anaconda的超详细图文教程》:本文主要介绍了在Ubuntu系统中如何下载和安装Anaconda,提供了两种方法,详细内容请阅读本文,希望能对你有所帮助... 本文介绍了在Ubuntu系统中如何下载和安装Anaconda。提供了两种方法,包括通过网页手动下载和使用wg

Spring Boot集成Logback终极指南之从基础到高级配置实战指南

《SpringBoot集成Logback终极指南之从基础到高级配置实战指南》Logback是一个可靠、通用且快速的Java日志框架,作为Log4j的继承者,由Log4j创始人设计,:本文主要介绍... 目录一、Logback简介与Spring Boot集成基础1.1 Logback是什么?1.2 Sprin

ubuntu如何部署Dify以及安装Docker? Dify安装部署指南

《ubuntu如何部署Dify以及安装Docker?Dify安装部署指南》Dify是一个开源的大模型应用开发平台,允许用户快速构建和部署基于大语言模型的应用,ubuntu如何部署Dify呢?详细请... Dify是个不错的开源LLM应用开发平台,提供从 Agent 构建到 AI workflow 编排、RA

ubuntu系统使用官方操作命令升级Dify指南

《ubuntu系统使用官方操作命令升级Dify指南》Dify支持自动化执行、日志记录和结果管理,适用于数据处理、模型训练和部署等场景,今天我们就来看看ubuntu系统中使用官方操作命令升级Dify的方... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。

SpringBoot实现二维码生成的详细步骤与完整代码

《SpringBoot实现二维码生成的详细步骤与完整代码》如今,二维码的应用场景非常广泛,从支付到信息分享,二维码都扮演着重要角色,SpringBoot是一个非常流行的Java基于Spring框架的微... 目录一、环境搭建二、创建 Spring Boot 项目三、引入二维码生成依赖四、编写二维码生成代码五

SpringBoot快速搭建TCP服务端和客户端全过程

《SpringBoot快速搭建TCP服务端和客户端全过程》:本文主要介绍SpringBoot快速搭建TCP服务端和客户端全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录TCPServerTCPClient总结由于工作需要,研究了SpringBoot搭建TCP通信的过程

Java中 instanceof 的用法详细介绍

《Java中instanceof的用法详细介绍》在Java中,instanceof是一个二元运算符(类型比较操作符),用于检查一个对象是否是某个特定类、接口的实例,或者是否是其子类的实例,这篇文章... 目录引言基本语法基本作用1. 检查对象是否是指定类的实例2. 检查对象是否是子类的实例3. 检查对象是否