我们的环境是私有云,搭建是用半自动的方式的,就是把启动需要的二进制文件和配置文件都分发到各个节点,虽然说这样可以改的地方比较多,比较灵活,但是非常容易改错某个配置导致集群启动不了。想问问你们公司都是咋搭建 k8s 的? kubearm ? rancher ? GitHub 上面的全自动化脚本?还是?
1
labulaka521 2021-05-28 06:42:28 +08:00 via iPhone
用腾讯云
|
2
kennylam777 2021-05-28 06:52:41 +08:00
Kubesprary 或者全套 OpenStack 都有
|
3
whileFalse 2021-05-28 06:55:32 +08:00
生产:云托管
测试:MicroK8s |
4
ericls 2021-05-28 07:06:59 +08:00 via iPhone
这种东西一定要先手动一次 才敢用自动的
|
5
turingli 2021-05-28 07:35:44 +08:00 via Android
microk8s
|
6
arischow 2021-05-28 07:39:48 +08:00 via iPhone
EKS
|
7
kennylam777 2021-05-28 07:54:06 +08:00
雖然說 kubespray 可以自動搭好環境及分發配置,但是不會 kubeadm 的話,不可能敢自己搭的
我的建議是,你有 CKA 資格才玩自建 k8s 吧,起碼掛了也會 troubleshoot,CKA 不考雲託管的。 |
8
plko345 2021-05-28 08:12:04 +08:00 via Android
跟着文档走,上生产别看别人的博客和百度
|
9
d0m2o08 2021-05-28 08:12:35 +08:00 1
之前用 kubeadm
现在用 kubeasz ansible 一把梭 |
10
yalin 2021-05-28 08:13:16 +08:00
rancher
|
11
Webpoplayer 2021-05-28 08:26:46 +08:00
rancher
|
12
lazyyz 2021-05-28 08:29:07 +08:00 via Android
rancher +1
|
13
JosephHan 2021-05-28 08:32:14 +08:00
rancher
|
14
bootvue 2021-05-28 08:35:18 +08:00
k3s rancher
|
15
anzu 2021-05-28 09:19:20 +08:00
测试单机 minikube 一把梭
生产用云提供的 |
16
jingslunt 2021-05-28 09:27:59 +08:00
国内社区的 sealos 挺好的,也是一键部署 HA,还支持大量插件 helm/istio/ceph/efk
|
17
dunhanson 2021-05-28 09:28:48 +08:00
自己手搭建
|
18
koala9527 2021-05-28 09:34:31 +08:00
阿里云 ACK
|
19
coolcoffee 2021-05-28 09:35:09 +08:00 via iPhone 2
自己搭建只是学习。但是测试环境和生产环境都用的 aws 和 aliyun 提供的。
因为自己搭建的无法解决负载均衡、不好解决持久化存储、不好动态扩容 node 。 就算上面的问题都能自己开发插件解决,但是这成本已经远远超出了直接托管云服务的成本。何况阿里云的基础托管还不收钱。 |
20
Illusionary 2021-05-28 09:37:44 +08:00
dev qa 环境是在 idc 机房的,用二进制部署,生产直接买阿里云 ack
|
21
kennylam777 2021-05-28 09:38:11 +08:00
|
22
QBS 2021-05-28 09:39:11 +08:00
自己搭过,也用过 rancher 和 kubesphere,推荐 rancher 。体感:无脑简单,对运维体检最佳。
|
23
arbit 2021-05-28 09:40:44 +08:00
kuboard 照着官网这个搭,没遇到什么坑
|
24
risky 2021-05-28 09:42:49 +08:00
kubeadm
|
25
joesonw 2021-05-28 09:43:29 +08:00
@coolcoffee 即使是 baremetal, LB 和 CSI 也有现成解决方案. 动态扩容的话应该是只适合云上, 自己部署的话哪有多余的闲暇机器.
|
26
lework1234 2021-05-28 09:47:24 +08:00
通过 kubeadm 方式部署,使用 https://github.com/lework/kainstall 脚本一键安装的。
|
27
jingslunt 2021-05-28 09:51:37 +08:00
rancher 部署方式还真的多
生产环境 RancherD Helm CLI RKE 开发环境 docker |
28
lawmil 2021-05-28 09:51:40 +08:00
线上直接托管阿里云
|
29
salmon5 2021-05-28 09:51:42 +08:00
二进制加 ctrl+c,ctrl+v
|
30
kennylam777 2021-05-28 09:52:52 +08:00
@lework1234 又一個輪子......簡單的方法是先用 playbook 安裝好 python3,就可以愉快使用 Ansible 了吧
|
31
kennylam777 2021-05-28 10:11:11 +08:00 2
我發現大部分的回答都不審題,都說私有雲半自動的了,竟然大部分答案都是公有雲託管,還有一堆手動小作的 kubeadm 的方案......
起碼是要 CNCF 的方案吧,不然就走 K8s the hardway 的學習路線。 Rancher 是 CNCF 的,但 CNI 有限,半自動化上比 Ansible 方案還是太傻瓜了一點,Rancher 公司也活躍了一段時間。 Kubeasz 也剛剛過了 CNCF,CNI 選擇也多,全中文的教程及國內優化鏡像是有用的,但是畢竟是義務工作不知道項目能活多久,我是不會用的因為沒有國內伺服器。 kubespray 是 kubernetes-sigs 下的官方項目,比 Kubeasz 有保證,但是國內網絡就麻煩了。 我覺得起碼要有 OpenStack 一類的東西才算私有雲吧,不然就只是 bare metals 。 |
32
NaVient 2021-05-28 10:20:48 +08:00
@kennylam777 #31 看了很多回答,就大兄弟你的回答靠谱点
|
33
lework1234 2021-05-28 10:43:20 +08:00
@kennylam777 嗯,你这个方案也可行,不过还需要个前提 python3,以及下载对应的 playbook,不够方便。
|
34
kennylam777 2021-05-28 10:54:36 +08:00
@lework1234 kubespray 或 kubeasz 就全套 playbook 了,還帶 scaling 例如安裝後的 add/remove master/slave nodes 。
自己學習寫一套自動化沒有問題,但投入生產環境的工夫還是很多的。 Ansible 方案需要做的事是建立 inventory file 及 variables,和源碼 playbooks 完全分離,完全是一個 git + kubesprary/kubeasz 做 submodule 就可以管好的事。 我想 kubespray 應該可以配一個 cn mirror urls 的 variables file 就應該能在國內用了吧。 |
35
wingoo 2021-05-28 11:01:33 +08:00
eks
|
36
arischow 2021-05-28 11:04:02 +08:00
楼上回答得很好啊。
但是把其他人批判一番就挺逗的,根据标题和描述进来回答云托管有问题? |
37
www5070504 2021-05-28 11:09:27 +08:00
楼上的楼上没什么问题
描述第一句就说了环境是私有云 |
38
xin053 2021-05-28 11:12:15 +08:00 1
@kennylam777 kubespray 新版有 generate_list.sh 脚本列出使用的二进制文件以及镜像(可以手动下载并上传到私仓),offline.yml 文件可以配置整个剧本使用私仓(包括 apt/yum 源,pip 源,二进制文件,docker 镜像等)
我司目前就是将 kubespray 作为 submodule,然后自己写相关组件的剧本,反正 kubespray 挺好用的 |
39
hijoker 2021-05-28 11:54:07 +08:00
kubeadm 搭建的
|
40
kennylam777 2021-05-28 12:28:39 +08:00 1
@xin053 kubesprary 的 contrib/offline/真的不錯
kubesprary as a submodule 的方法讓我安心的是,只要緊跟上游的 release(e.g. 2.16),就可以享用上游的維護一段時間,升級的時候也有據可依 |
41
breezeFP 2021-05-28 13:16:35 +08:00
sealos
|
42
Rexyu 2021-05-28 13:26:36 +08:00
Azure 搭建的 AKS
|
43
fire2y 2021-05-28 13:32:59 +08:00
terraform 跑 eks
|
44
kugouo4 2021-05-28 14:19:48 +08:00 1
kubeadm+rancher or rke+rancher
|
45
konakona 2021-05-28 14:23:09 +08:00
由于公司不需要提供 SAAS 或者 PAAS 的底层自动搭建架构,直接用的腾讯云 TKE
|
46
knives 2021-05-28 14:51:13 +08:00
etcd + k3s + rancher,跑在阿里云的便宜机器上,姑且够用。
|
47
returnErr 2021-05-28 15:34:57 +08:00
ansible 自建.... task 自己写下就可以了
|
48
YzSama 2021-05-28 16:14:06 +08:00
sealos 和 kubeadm,目前再用的。
|
49
Firxiao 2021-05-28 16:37:21 +08:00
"非常容易改错某个配置导致集群启动不了"
不管你用哪种方式搭建, 解决问题的话是要创建多个环境,例如 dev--> uat > prod 不要在生产环境直接改, 用流程来避免不当操作. |
50
huweic 2021-05-28 17:39:06 +08:00
kubeasz
|
51
xiaooloong 2021-05-28 17:48:01 +08:00
之前用 rke,现在用 kubeadm
|
52
milletlok 2021-05-28 18:41:07 +08:00
学习一下
|
53
SuperManNoPain 2021-05-28 18:47:44 +08:00
啊,这,k8s 这么流行了么,还是我太落后
|
54
ZehaiZhang 2021-05-28 18:50:38 +08:00
阿里云免费的 k8s 界面完成的
|
55
fuis 2021-05-28 19:32:37 +08:00 1
|
57
lixiang2017 2021-05-29 04:15:42 +08:00 via Android
sealos 一键完成
|
58
hotsymbol 2021-05-30 13:25:38 +08:00
AWS EKS 或者 Azure AKS
|
59
firefox12 2021-05-30 16:03:49 +08:00
居然没有 k8seasy. k8seasy 一键安装 二进制服务。
|
60
mingqing 2021-05-30 21:41:08 +08:00
|
61
kennylam777 2021-06-03 23:20:51 +08:00
@mingqing 我不明白你口中的二進制部署有何必要......看了你的安裝方法,還不是直接在 yum 裝 etcd 。
正式一點的 playbook 都可以自訂 repo,比起自己在 local files/git repo 管理 binaries 有用得多,生產環境就不要這樣玩吧。 看看人家 production grade 的 playbook,還有考慮 disaster recovery,不是單單一步安裝好就完事的。 https://github.com/kubernetes-sigs/kubespray/blob/master/docs/recover-control-plane.md |
62
JimmyXu 2021-06-04 15:35:18 +08:00
@Illusionary 我们现在也准备这样来实现,能加下能您这边联系方式,聊聊吗?
|
63
JimmyXu 2021-06-04 15:36:42 +08:00
@Illusionary 最近公司也准备忘这方面走,能加下您联系方式共同交流下吗?
|
64
mingqing 2021-06-06 13:52:09 +08:00
@kennylam777 kubespray 我自己都有在看在学习,但是有很多功能、组件在各自业务体系里完全用不上,而通过这种定制化精简的二进制部署,维护者会更熟悉这套集群的基础架构,基础设施方便接入 cicd 工作流,而且组件单一,定位问题简单,而不是通过第三方工具自动化完成部署,之后出问题就甩给开源工具
|
65
kennylam777 2021-06-07 03:59:37 +08:00
@mingqing 嗯. 如果你是重頭自建 k8s cluster 還涉及自家的 CI/CD 那用自己的 Ansible playbook 是無可厚非的, 但其他使用者要理解你的 playbook 要有 K8s the hard way 的能力, 如果是公司級分工的話, 我還是會選擇 Kubespray, 除非 team members 都是 CKA 一類專家級的
|
66
johnniang 2021-07-14 09:37:20 +08:00 via Android
kubekey
|
67
leiuu 2021-09-09 17:54:57 +08:00
目前的方案推荐排序:
rancher 10 kubeadm 10 Ansible 6 sealos 5 playbook 5 kubeasz 4 OpenStack 3 Kubesprary 3 |