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