前言

本教程基于sealos搭建1.18.0版本的k8s环境,sealos能够做到一条命令实现k8s集群部署,sealos官网:https://www.sealyun.com/

sealos特性

  • 99年证书
  • 不依赖ansible haproxy keepalived, 一个二进制工具,0依赖
  • 离线安装,不同kubernetes版本下载对应不同版本的资源包即可,离线包包含所有二进制文件配置文件和镜像
  • 高可用通过ipvs实现的localLB,占用资源少,稳定可靠,类似kube-proxy的实现
  • 几乎可兼容所有支持systemd的x86_64架构的环境
  • 轻松实现集群节点的增加/删除
  • 上千用户在线上环境使用sealos,稳定可靠
  • 资源包放在阿里云oss上,再也不用担心网速
  • dashboard ingress prometheus等APP 同样离线打包,一键安装

环境准备

服务器

服务器IP主机名集群角色作用
10.1.12.27apiserver.cluster.localmaster
10.1.12.28k8s.master.2master
10.1.12.29k8s.node.3node
10.1.12.42hadoop1node
10.1.12.43hadoop2nodesealos服务端,配置好与其他服务器免密登录

免密登录配置

sealos需要跨服务器执行命令,因此需要使用ssh进行登录,为了简化部署过程,设置sealos服务器对其他服务器为免密登录,以下是免密登录的具体配置

我有2台服务器(A与B),在A服务器上想要在SSH B时无需输入密码即可登陆

步骤一

客户端生成公私钥(服务器A)

ssh-keygen
//一路回车

上面这个命令会在用户目录.ssh文件夹下创建公私钥,命令执行完成后,到.ssh目录下去查看密钥生成情况:

cd ~/.ssh

看到两个密钥文件:id_rsa (私钥),id_rsa.pub (公钥)

步骤二

上传公钥到服务器(上传到服务器B)

//userb为服务器B的账号,ip为服务器B的ip
ssh-copy-id -i ~/.ssh/id_rsa.pub userb@ip

上面这条命令是写到服务器上的ssh目录下去了,命令执行完成后,到服务器B上去查看情况

cd ~/.ssh
more authorized_keys

可以看到客户端写入到服务器的 id_rsa.pub (公钥)内容。

注意事项

  • 必须同步所有服务器时间
  • 所有服务器主机名不能重复
  • 系统支持:centos7.6以上 ubuntu16.04以上
  • 内核推荐4.14以上, 系统推荐:centos7.7

服务器账号准备

K8S需要root账号权限,我们安装也是用root账号

其他账号没有试过,sealos官网貌似也没有说要用root

安装步骤

步骤一:下载并按照sealos

wget -c https://sealyun.oss-cn-beijing.aliyuncs.com/latest/sealos && \
    chmod +x sealos && mv sealos /usr/bin 

下载并安装sealos, sealos是个golang的二进制工具,直接下载拷贝到bin目录即可, release页面也可下载(

步骤二:下载k8s的安装包

wget -c https://sealyun.oss-cn-beijing.aliyuncs.com/7b6af025d4884fdd5cd51a674994359c-1.18.0/kube1.18.0.tar.gz

步骤三:执行集群初始化安装命令

sealos init \
	--master 10.1.12.27  \
	--node 10.1.12.29 \
	--pkg-url /home/user/sealos/kube1.18.0.tar.gz \ 
	--version v1.18.0

pkg-url:指定第二步中下载的k8s安装包路径

version:指定k8s版本

执行日志
在这里插入图片描述

安装成功
在这里插入图片描述

其他步骤

这个步骤不是必要的,若第三步把所有节点都包含在内,就可以不需要这一步了,后期若果要扩展节点,再执行

扩展主节点
sealos join --master 10.1.12.28

执行日志

在这里插入图片描述

扩展node节点
sealos join --node 10.1.12.43 --node 10.1.12.42

执行日志
在这里插入图片描述

安装结果确认

执行命令查询5台服务器是否都已经启动

kubectl get nodes

结果
在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐