吊炸天!一行命令快速部署大规模K8S集群!!!

先决条件

  • 请事先准备好几台服务器(测试环境虚拟机即可)
  • 请事先设置好相同的root密码(方便同时操作多服务器)
  • 请事先在Linux安装好docker
  • 请使用统一的服务器,如都是CentOS/Ubuntu

一行命令

# 你只需要类似如下一行命令,即可在多个服务器上部署K8S集群,注意事项下载好k8s的离线安装包
sealos init --master 192.168.0.2  --node 192.168.0.5 --passwd your-server-password --version v1.14.1 --pkg-url /root/kube1.14.1.tar .gz# k8s的离线安装包地址:https://sealyun.oss-cn-beijing.aliyuncs.com/d551b0b9e67e0416d0f9dce870a16665-1.18.0/kube1.18.0.tar.gz 

安装命令

# 下载并安装sealos, sealos是个golang的二进制工具,直接下载拷贝到bin目录即可, release页面也可下载
wget -c https://sealyun.oss-cn-beijing.aliyuncs.com/latest/sealos && \chmod +x sealos && mv sealos /usr/bin # 下载离线资源包
wget -c https://sealyun.oss-cn-beijing.aliyuncs.com/d551b0b9e67e0416d0f9dce870a16665-1.18.0/kube1.18.0.tar.gz # 安装一个三master的kubernetes集群
sealos init --passwd 123456 \--master 192.168.0.2  --master 192.168.0.3  --master 192.168.0.4  \--node 192.168.0.5 \--pkg-url /root/kube1.18.0.tar.gz \--version v1.18.0

介绍

构建K8S集群。

  • 每个节点都为主机LB配置了一个ipvs代理,因此我们不再需要haproxy或keepalived了。
  • 然后运行lvscare作为staic pod来检查apiserver是否可用。/etc/kubernetes/manifests/sealyun-lvscare.yaml
  • 如果任何主服务器宕机,lvscare将删除ipvs realserver,当主服务器恢复时,它将添加回去。
  • Sealos将发送软件包并应用安装命令,因此我们不必烦恼。

快速开始

预安装

  • 安装并启动Docker
  • 下载kubernetes离线软件包将其复制到/ root。
  • 在发行页面上下载最新的Sealos。
  • 支持备份1.14.0+ (1.14.x 至 1.18.x)

安装

多主机HA:

sealos init --master 192.168.0.2 \ --master 192.168.0.3 \ --master 192.168.0.4 \               --node 192.168.0.5 \                  --user root \                         --passwd your-server-password \       --version v1.14.1 \ --pkg-url /root/kube1.14.1.tar.gz     

或单个主机:

sealos init --master 192.168.0.2 \ --node 192.168.0.5 \                  --user root \                         --passwd your-server-password\       --version v1.14.1 \ --pkg-url /root/kube1.14.1.tar .gz

或使用ssh私钥:

sealos init --master 172.16.198.83 \ --node 172.16.198.84 \ --pkg-url https://sealyun.oss-cn-beijing.aliyuncs.com/free/kube1.15.0.tar.gz \ --pk /root/kubernetes.pem#这是您的ssh私钥文件\ --version v1.15.0

就这样!

--master masters列表
--node节点列表
--user主机用户名
--passwd主机passwd
--pkg-url脱机包位置
--version kubernetes版本

注意: 1.可能报错 --user 不支持 ,去掉 --user root 这个选项就行了;2. 当命令执行到kubeadm init ... 时,由于你的服务器性能的问题,执行速度可能不太一样,如果长时间卡着,可以ctrl + c 取消,设置国内的kubernetes的repo,然后再次执行。

检查集群:

[root@iZj6cdqfqw4o4o9tc0q44rZ ~]# kubectl get node
NAME                      STATUS   ROLES    AGE     VERSION
izj6cdqfqw4o4o9tc0q44rz   Ready    master   2m25s   v1.14.1
izj6cdqfqw4o4o9tc0q44sz   Ready    master   119s    v1.14.1
izj6cdqfqw4o4o9tc0q44tz   Ready    master   63s     v1.14.1
izj6cdqfqw4o4o9tc0q44uz   Ready    <none>   38s     v1.14.1
[root@iZj6cdqfqw4o4o9tc0q44rZ ~]# kubectl get pod --all-namespaces
NAMESPACE     NAME                                              READY   STATUS    RESTARTS   AGE
kube-system   calico-kube-controllers-5cbcccc885-9n2p8          1/1     Running   0          3m1s
kube-system   calico-node-656zn                                 1/1     Running   0          93s
kube-system   calico-node-bv5hn                                 1/1     Running   0          2m54s
kube-system   calico-node-f2vmd                                 1/1     Running   0          3m1s
kube-system   calico-node-tbd5l                                 1/1     Running   0          118s
kube-system   coredns-fb8b8dccf-8bnkv                           1/1     Running   0          3m1s
kube-system   coredns-fb8b8dccf-spq7r                           1/1     Running   0          3m1s
kube-system   etcd-izj6cdqfqw4o4o9tc0q44rz                      1/1     Running   0          2m25s
kube-system   etcd-izj6cdqfqw4o4o9tc0q44sz                      1/1     Running   0          2m53s
kube-system   etcd-izj6cdqfqw4o4o9tc0q44tz                      1/1     Running   0          118s
kube-system   kube-apiserver-izj6cdqfqw4o4o9tc0q44rz            1/1     Running   0          2m15s
kube-system   kube-apiserver-izj6cdqfqw4o4o9tc0q44sz            1/1     Running   0          2m54s
kube-system   kube-apiserver-izj6cdqfqw4o4o9tc0q44tz            1/1     Running   1          47s
kube-system   kube-controller-manager-izj6cdqfqw4o4o9tc0q44rz   1/1     Running   1          2m43s
kube-system   kube-controller-manager-izj6cdqfqw4o4o9tc0q44sz   1/1     Running   0          2m54s
kube-system   kube-controller-manager-izj6cdqfqw4o4o9tc0q44tz   1/1     Running   0          63s
kube-system   kube-proxy-b9b9z                                  1/1     Running   0          2m54s
kube-system   kube-proxy-nf66n                                  1/1     Running   0          3m1s
kube-system   kube-proxy-q2bqp                                  1/1     Running   0          118s
kube-system   kube-proxy-s5g2k                                  1/1     Running   0          93s
kube-system   kube-scheduler-izj6cdqfqw4o4o9tc0q44rz            1/1     Running   1          2m43s
kube-system   kube-scheduler-izj6cdqfqw4o4o9tc0q44sz            1/1     Running   0          2m54s
kube-system   kube-scheduler-izj6cdqfqw4o4o9tc0q44tz            1/1     Running   0          61s
kube-system   kube-sealyun-lvscare-izj6cdqfqw4o4o9tc0q44uz      1/1     Running   0          86s

清理节点

sealos clean

或清理主节点或节点

sealos clean --master 192.168.0.2
sealos clean --node 192.168.0.3

添加节点

sealos 加入 --master 192.168.0.2 #加入主人sealos 加入 --node 192.168.0.3   --node 192.168.0.4 #加入主人

也可以使用192.168.0.3-192.168.0.3指定多个IP

使用配置文件

例如,我们需要添加一个certSAN sealyun.com

sealos config -t kubeadm >> kubeadm-config.yaml.tmpl

查看配置模板文件cat kubeadm-config.yaml.tmpl,对其进行编辑添加sealyun.com

apiVersion: kubeadm.k8s.io/v1beta1
kind: ClusterConfiguration
kubernetesVersion: {{.Version}}
controlPlaneEndpoint: "apiserver.cluster.local:6443"
networking:podSubnet: 100.64.0.0/10
apiServer:certSANs:- sealyun.com # this is what I added- 127.0.0.1- apiserver.cluster.local{{range .Masters -}}- {{.}}{{end -}}- {{.VIP}}
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
mode: "ipvs"
ipvs:excludeCIDRs: - "{{.VIP}}/32"

然后使用--kubeadm-config标志:

sealos init --kubeadm-config kubeadm-config.yaml.tmpl \--master 192.168.0.2 \--master 192.168.0.3 \--master 192.168.0.4 \              --node 192.168.0.5 \                 --user root \                        --passwd your-server-password \      --version v1.14.1 \--pkg-url /root/kube1.14.1.tar.gz 

翻译来源:https://gitee.com/yunwisdoms/sealos/blob/master/README_en.md(好吧,本身有中文文档,专门翻译的英文文档,然后好标个翻译原创)

推荐阅读:炫酷超拽!推荐一款Vue开发的OA系统,功能还不错哟!!!

吊炸天!一行命令快速部署大规模K8S集群!!!相关推荐

  1. K8S 集群部署(快速部署一个 K8S 集群)

    https://youdianzhishi.com/web/course/1004/1019 https://www.qikqiak.com/post/manual-install-high-avai ...

  2. 使用kubeadm快速部署一个K8s集群

    kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具. 这个工具能通过两条指令完成一个kubernetes集群的部署: # 创建一个 Master 节点 $ kubeadm i ...

  3. docker下,一行命令搭建elasticsearch6.5.0集群(带head插件和ik分词器)

    docker下,一行命令搭建elasticsearch6.5.0集群(带head插件和ik分词器) 2019年01月27日 21:06:12 博陵精骑 阅读数:794 标签: dockerelasti ...

  4. 火山引擎李玉光:字节跳动大规模K8s集群管理实践

    嘉宾 | 李玉光   整理 | 贾凯强 出品 | CSDN云原生 2022年5月31日,在CSDN云原生系列在线峰会第6期"K8s大规模应用和深度实践峰会",火山引擎资深云原生架构 ...

  5. 浅谈大规模k8s集群关于events的那些坑

    浅谈大规模k8s集群关于events的那些坑 背景 一.用户通过kubectl list event 二.kubernetes-dashboard list events 三.直接在集群中list e ...

  6. 如何快速部署一个Elasticsearch集群?

    作者:无敌码农 来源:无敌码农 今天的文章给大家介绍下Elasticsearch这一目前在"搜索"和"分析"领域使用十分广泛的技术组件.并演示如何快速构建一个E ...

  7. Centos7 安装部署Kubernetes(k8s)集群过程

    1.系统环境 服务器版本 docker软件版本 CPU架构 CentOS Linux release 7.9 Docker version 20.10.12 x86_64 2.前言 如下图描述了软件部 ...

  8. 面对大规模 K8s 集群,如何先于用户发现问题?

    作者 | 彭南光(光南) 来源 | 阿里巴巴云原生公众号 千里之堤,溃于蚁穴. 绪论 不知道大家是否经历过这样的情景:突然被用户告知系统出现问题,然后一脸懵地惶惶然排查修复:或是等到自己发现系统出现故 ...

  9. 蚂蚁宣布开源 KubeTEE:让机密计算支持大规模 K8s 集群

    作者:肖俊贤.闫守孟.秦凯伦 9月25日,在上海外滩大会可信原生技术论坛上,蚂蚁宣布开源 KubeTEE,一个云原生大规模集群化机密计算框架,解决在云原生环境中 TEE 可信执行环境技术特有的从开发. ...

最新文章

  1. 牛顿法求解非线性方程的根
  2. 我进公司当Android开发实习生时,初中最差的同学成了我的领导
  3. c++心得之struct和class(结构体和类)
  4. 【翻译】.NET Core3.1发布
  5. alinq mysql_ALinq让Mysql变得如此简单_MySQL
  6. 20179214 《网络攻防实践》第五周学习
  7. DCMTK DCMSCU例子
  8. 如何使用Secure CRT连接到华三模拟器上和华为模拟器上(更新模拟器版本,SecureCRT版本)
  9. 你能卖什么,决定了你的收入落在什么档次
  10. 从小白到大牛,程序员必读的经典套系书
  11. 千兆路由器怎么设置网速最快_如何设置路由器使网速最快
  12. 一百块组装可玩LOL的电脑
  13. php独孤九剑,针对浏览器隐藏CSS之独孤九剑_经验交流
  14. 下一代 TGW 从13Mpps到50Mpps性能优化之旅
  15. Oracle同义词的好处
  16. Java反射机制实现与原理
  17. java生成word报告echart_Java这几个用 Pyecharts 做出来的交互图表,领导说叼爆了!...
  18. 计算机体系结构的一知半解
  19. 平凡之路上,请不要后会无期
  20. 基于DxOMark的影像质量客观测试研究

热门文章

  1. [手把手教]discuzX2插件制作教程__最菜鸟级别的入门坎 【二】
  2. SQL 2005 的存储过程和触发器调试大法
  3. Net 4.0并行库实用性演练
  4. 使用 position: sticky 达到粘性元素区域悬浮效果
  5. 13个您应该安装的WordPress插件
  6. 2020-08-07
  7. python多任务笔记
  8. ubuntu虚拟机联网
  9. Linux文件(目录)命名规则
  10. 【AI视野·今日NLP 自然语言处理论文速览 第十二期】Tue, 22 Jun 2021