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