当前位置: 首页 > news >正文

Kubeasz工具快速部署K8Sv1.27版本集群(二进制方式)

文章目录

    • 一、基本信息
    • 二、服务器初始化操作
    • 三、使用Kubeasz部署K8S集群
    • 四、验证集群

一、基本信息

1、部署需要满足前提条件:

  • 注意1:确保各节点时区设置一致、时间同步;
  • 注意2:确保在干净的系统上开始安装;
  • 注意3:关闭防火墙、SElinux限制;
  • 注意4:涉及到的主机SSH免密登入。

2、服务器信息如下:

由于仅仅只是演示kubeasz工具快速部署K8S集群,所以本次实验采用单Master、单Node架构,详细如下:

序号IP地址角色组件信息
116.32.15.116K8S 控制节点K8S 控制节点相关组件、ETCD
216.32.15.200K8S 工作节点K8S 工作节点相关组件

二、服务器初始化操作

1、关闭防火墙

systemctl disable firewalld --now
setenforce 0
sed  -i -r 's/SELINUX=[ep].*/SELINUX=disabled/g' /etc/selinux/config

2、时间同步

yum -y install ntpdate
ntpdate ntp1.aliyun.com

添加定时同步 每天凌晨1点自动同步时间:

echo "0 1 * * * ntpdate ntp1.aliyun.com" >> /var/spool/cron/root
crontab -l

3、免密登入

ssh-keygen  # 生产密钥对

ssh-copy-id 16.32.15.116
ssh-copy-id 16.32.15.200

三、使用Kubeasz部署K8S集群

1、下载项目源码、二进制及离线镜像

export release=3.5.0
wget https://github.com/easzlab/kubeasz/releases/download/${release}/ezdown
chmod +x ./ezdown

2、下载离线包到本地(可能受网络因素影响会很慢,建议下载一份放到/etc/kubeasz目录下,后续走离线部署)

./ezdown -D

3、容器化运行kubeasz

./ezdown -S
docker exec -it kubeasz ezctl new k8s-01 # 创建新集群 k8s-01
sed -i 's/^INSTALL_SOURCE.*$/INSTALL_SOURCE: "offline"/g' /etc/kubeasz/example/config.yml  # 离线部署方式

4、修改hosts文件

vim /etc/kubeasz/clusters/k8s-01/hosts

[etcd]
16.32.15.116

[kube_master]
16.32.15.116 k8s_nodename='master-01'

[kube_node]
16.32.15.200 k8s_nodename='worker-01'

5、执行ansible剧本,安装K8S集群

source ~/.bashrc
dk ezctl setup k8s-01 all

如下图表示无误:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

四、验证集群

1、查看集群节点信息

kubectl get nodes

在这里插入图片描述

2、查看Pod信息

kubectl get pods -A

在这里插入图片描述

3、创建Deployment资源,验证是否可以运行成功

导入镜像(工作节点执行)

注意:由于网络原因,我这边使用本地导入镜像方式。

ctr -n k8s.io image import ng18.tar.gz
crictl image|grep nginx*

在这里插入图片描述

创建deployment资源(控制节点执行)

cat test-nginx.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
      - name: nginx-container
        image: nginx:1.18.0
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 80
 
kubectl apply -f test-nginx.yaml 

查看创建Pod状态

kubectl get pods  -o wide -w

在这里插入图片描述

相关文章:

  • Angular 2 JavaScript:深度解析与实战指南
  • Python 编程题 第十一节:选择排序、插入排序、删除字符、目标移动、尾部的0
  • AI Agent深度进化论:从多模态感知到自主决策革命的行业落地全景透视
  • 【PCB工艺】电流、电压与电阻的关系 以及 含有电容和电感的电路
  • HTML基础内容3
  • 胜科纳米上市在即:营收连增多年,失效分析、材料分析技术市场领先
  • 极简桌面待办清单软件,❌不会增加工作量
  • 遗传算法+四模型+双向网络!GA-CNN-BiLSTM-Attention系列四模型多变量时序预测
  • kubectl describe pod 命令以及输出详情讲解
  • 1.小乌龟速度控制
  • swagger ui 界面清除登录信息的办法
  • 嵌入式硬件篇---龙芯GPIO控制
  • Python基于深度学习的中文情感分析系统(V2.0,附源码,文档说明)
  • 【DRAM存储器四十七】LPDDR5介绍--LPDDR5的低功耗技术之DVFS
  • 股票:大盘定义及S成长性
  • 网络编程 day04
  • 构建企业核心竞争力深入解析某著名企业卓越运营管理框架(71页PPT)(文末有下载方式)
  • Python个人学习笔记(16):模块(os)
  • BGP路由协议【网络协议详解】--通俗易懂!
  • 1vscode开发工具搭建
  • 何立峰将访问瑞士、法国并举行中美经贸高层会谈、第十次中法高级别经济财金对话
  • 人民日报和音:引领新时代中俄关系坚毅前行
  • 印度扩大对巴措施:封锁巴基斯坦名人账号、热门影像平台社媒
  • 菲律宾首都机场航站楼外发生汽车冲撞事故致2死多伤
  • 香港金紫荆广场举行五四升旗礼
  • 熬夜又不想伤肝?方法只有一个