-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
staging for cgroupdriver , fix #582 #589
Conversation
install/constants.go
Outdated
ContainerdShell = `if grep "SystemdCgroup = true" /etc/containerd/config.toml &> /dev/nul; then | ||
driver=systemd | ||
else | ||
driver=cgroupfs | ||
fi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
因为 containerd 默认是 cgroupfs.
kubernetes 默认是 systemd. (这个他们好像在弄了, 现在还是cgroupfs).
@@ -54,9 +54,26 @@ func BuildInit() { | |||
i.PrintFinish() | |||
} | |||
|
|||
func (s *SealosInstaller) IsCgroupDriver(h string) bool { | |||
var output string | |||
if For120(Version) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sealos init kubernetes >=1.20 , 则使用containerd. 否则使用 docker
0e53a84
to
5edfd53
Compare
install/constants.go
Outdated
driver=cgroupfs | ||
fi | ||
echo ${driver}` | ||
DockerShell = `cgroupDriver=$(docker info|grep Cg) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
driver=$(docker info -f "{{.CgroupDriver}}")
好像更方便点.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
driver=$(docker info -f "{{.CgroupDriver}}") 这样优雅多了,以前写法就是垃圾
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
改成 driver=$(docker info -f "{{.CgroupDriver}}") 这个吧
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok.
LGTM |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
把docker获取cgroup driver换成你的写法,果然我shell就是个渣渣
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
这个地方还是有可能会有问题. 如果已经安装了docker. docker会自动安装contianerd. 需要多次测试.
install/constants.go
Outdated
cgroupDriver: {{ .CgroupDriver}}`) | ||
|
||
const ( | ||
ContainerdShell = `if grep "SystemdCgroup = true" /etc/containerd/config.toml &> /dev/null; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
这个地方的处理只适用sealos安装的, 如果自定义安装contianerd, 并且不是通过配置文件修改cgroupdriver, 使用containerd 命令行 --cgroup-manager flag启动.那么判断可能会有问题.
20275df
to
b8aee3f
Compare
Signed-off-by: oldthreefeng <louisehong4168@gmail.com>
4e869b5
to
7f04f51
Compare
containerd没有类似docker info -f "{{.CgroupDriver}}"的命令行获取信息的操作吗 |
我找了半天, 没找到。看看这个老外的解释 |
@oldthreefeng 这个any update? 已经写了把它收尾掉? |
好。 |
* rewrite install and delete for app, app.tar don't send if already exist * read byte to remote file by sftp * add etcd health check * restore only one node to local * use subcommad instead Flag * single node save, healthcheck and restore test ok * recovery kube system when err happend by restore * use tar to compress instead of zip. * slove in docker use with save. * add --docker bool flag , if true , this will auto add unix timestamp to your snapshot suffix. * add save snapshot to oss. sealos config add oss-conf * feat(develop): 修复 #430 * fix ETCD CaCert or key file is not exist occurs panic, #427 * add kubernetes cronjob example yaml file * fix #441 * fix issue #443 * implementaion for sealos exec #429 * fix bug --label & --node will exec cmd twice and add example exec cmd * support exec scp local dir to remote * refactor exec command and use get ip by node name & by labelselector method to avoid for loop * fix sealos etcd health check for mutil master * add bash/zsh completion for sealos. from kubectl * fix kubeadm not found on old sealos package && fix port in exec cmd #469 && fix --service-cidr on old version && delete route cmd * fix 1.19.1 kube-controller-manager and kube-scheduler use the LocalAPIEndpoint instead of the ControlPlaneEndpoint. * add sealos route cmd docs * rm original sealos in old package to aviod some problem. add multi network install docs stage add upx in dockerfile, add upx in drone. change image to golang:15.2-alpine * dockerfile add upx stage build * fix versiontointall when version like v1.16.14 >= 1191 * add test record for upgrade cmd * when init , do not send twice, if valid copy md5 success ,do not logger * sepreate install master0 and other master when send ca and key and kubeconfig * fix --config when use customer config. * validate copy kubetarball * fix #499 * fix #509. * fix #534 only for 1.19.1 and 1.19.2 * /root/.kube/config设置为600,否则默认其它组有r权限,导致helm工具执行有警告 * when kubernetes gt 1.20, use Containerd instead of docker, #540 suport 1.20 containerd * fix #566, sealos clean --node 不小心写了 masterip add cleanCmd example * fix #571. handle unexpected error * fix #577, join node use config file, fix ipformat comment to oss when push to develop, only to tag to release Fix 1.14.x has no kubeadm.k8s.io/v1beta2 by use cli kubeadm join --xxxx. * fix #586, drain node is too danger for prod use; do not drain nodes drain worker node is too danger for prod use; do not drain nodes if worker nodes~ * fix build status (#610) * fix arm64 tags * fix #613, delete -i for cp command * fix #621. join node or master should not exsit in kubernetes. * feat(develop): fix ipip param not set false (#653) * # 决绝路径取消拼接,防止出错。 (#654) * feat(develop): fix cni config too long (#655) * fix version 3.19.1 yaml file lint error. (#656) * fix calico (#657) * fix calico version nil yaml file retrun null. (#658) * Update upgrade.md (#665) * use new const for kubeletconfig (#589) Signed-off-by: oldthreefeng <louisehong4168@gmail.com> * [WIP]Sealos kubeadm 1.23 v1beta3 (#673) * fix #671 * feat(develop): fix ci dir for sealos (#735) * fix bootstrapToken (#737) * feat(develop): rc6 release (#738) * ci(develop) fix golint for code and lic (#736) Co-authored-by: steven <fhtjob@hotmail.com> Co-authored-by: oldthreefeng <louisehong4168@gmail.com> Co-authored-by: 中弈 <zhongyi.fht@alibaba-inc.com> Co-authored-by: Ryan <yangchuansheng33@gmail.com> Co-authored-by: Louis <38313565+oldthreefeng@users.noreply.github.com> Co-authored-by: ysicing <i@ysicing.me> Co-authored-by: huizhi.szh <huizhi.szh@alibaba-inc.com> Co-authored-by: aiyijing <aiyijing@live.com> Co-authored-by: scott lewis <33612882+dk-lockdown@users.noreply.github.com> Co-authored-by: wenshihong <wsh@justep.com> Co-authored-by: wisheen <wisheen@163.com> Co-authored-by: Cluas <Cluas@live.cn> Co-authored-by: currycan <ansandyzzt@gmail.com> Co-authored-by: zhangzhitao <zhangzhitao@lakala.com> Co-authored-by: rick <rick@jenkins-zh.cn> Co-authored-by: panda-lab <64345457+panda-lab@users.noreply.github.com> Co-authored-by: 付亮 <48649837+hellolittlewei@users.noreply.github.com> Co-authored-by: SorryMaker <41097970+CodeSorryMaker@users.noreply.github.com>
* ci(develop) fix golint for code and lic (#736) * merge to master (#739) * rewrite install and delete for app, app.tar don't send if already exist * read byte to remote file by sftp * add etcd health check * restore only one node to local * use subcommad instead Flag * single node save, healthcheck and restore test ok * recovery kube system when err happend by restore * use tar to compress instead of zip. * slove in docker use with save. * add --docker bool flag , if true , this will auto add unix timestamp to your snapshot suffix. * add save snapshot to oss. sealos config add oss-conf * feat(develop): 修复 #430 * fix ETCD CaCert or key file is not exist occurs panic, #427 * add kubernetes cronjob example yaml file * fix #441 * fix issue #443 * implementaion for sealos exec #429 * fix bug --label & --node will exec cmd twice and add example exec cmd * support exec scp local dir to remote * refactor exec command and use get ip by node name & by labelselector method to avoid for loop * fix sealos etcd health check for mutil master * add bash/zsh completion for sealos. from kubectl * fix kubeadm not found on old sealos package && fix port in exec cmd #469 && fix --service-cidr on old version && delete route cmd * fix 1.19.1 kube-controller-manager and kube-scheduler use the LocalAPIEndpoint instead of the ControlPlaneEndpoint. * add sealos route cmd docs * rm original sealos in old package to aviod some problem. add multi network install docs stage add upx in dockerfile, add upx in drone. change image to golang:15.2-alpine * dockerfile add upx stage build * fix versiontointall when version like v1.16.14 >= 1191 * add test record for upgrade cmd * when init , do not send twice, if valid copy md5 success ,do not logger * sepreate install master0 and other master when send ca and key and kubeconfig * fix --config when use customer config. * validate copy kubetarball * fix #499 * fix #509. * fix #534 only for 1.19.1 and 1.19.2 * /root/.kube/config设置为600,否则默认其它组有r权限,导致helm工具执行有警告 * when kubernetes gt 1.20, use Containerd instead of docker, #540 suport 1.20 containerd * fix #566, sealos clean --node 不小心写了 masterip add cleanCmd example * fix #571. handle unexpected error * fix #577, join node use config file, fix ipformat comment to oss when push to develop, only to tag to release Fix 1.14.x has no kubeadm.k8s.io/v1beta2 by use cli kubeadm join --xxxx. * fix #586, drain node is too danger for prod use; do not drain nodes drain worker node is too danger for prod use; do not drain nodes if worker nodes~ * fix build status (#610) * fix arm64 tags * fix #613, delete -i for cp command * fix #621. join node or master should not exsit in kubernetes. * feat(develop): fix ipip param not set false (#653) * # 决绝路径取消拼接,防止出错。 (#654) * feat(develop): fix cni config too long (#655) * fix version 3.19.1 yaml file lint error. (#656) * fix calico (#657) * fix calico version nil yaml file retrun null. (#658) * Update upgrade.md (#665) * use new const for kubeletconfig (#589) Signed-off-by: oldthreefeng <louisehong4168@gmail.com> * [WIP]Sealos kubeadm 1.23 v1beta3 (#673) * fix #671 * feat(develop): fix ci dir for sealos (#735) * fix bootstrapToken (#737) * feat(develop): rc6 release (#738) * ci(develop) fix golint for code and lic (#736) Co-authored-by: steven <fhtjob@hotmail.com> Co-authored-by: oldthreefeng <louisehong4168@gmail.com> Co-authored-by: 中弈 <zhongyi.fht@alibaba-inc.com> Co-authored-by: Ryan <yangchuansheng33@gmail.com> Co-authored-by: Louis <38313565+oldthreefeng@users.noreply.github.com> Co-authored-by: ysicing <i@ysicing.me> Co-authored-by: huizhi.szh <huizhi.szh@alibaba-inc.com> Co-authored-by: aiyijing <aiyijing@live.com> Co-authored-by: scott lewis <33612882+dk-lockdown@users.noreply.github.com> Co-authored-by: wenshihong <wsh@justep.com> Co-authored-by: wisheen <wisheen@163.com> Co-authored-by: Cluas <Cluas@live.cn> Co-authored-by: currycan <ansandyzzt@gmail.com> Co-authored-by: zhangzhitao <zhangzhitao@lakala.com> Co-authored-by: rick <rick@jenkins-zh.cn> Co-authored-by: panda-lab <64345457+panda-lab@users.noreply.github.com> Co-authored-by: 付亮 <48649837+hellolittlewei@users.noreply.github.com> Co-authored-by: SorryMaker <41097970+CodeSorryMaker@users.noreply.github.com> * Revert "merge to master (#739)" (#741) This reverts commit c8349b0. * Update README.md * ci(master): add dockerfile * hotfix(master): clean panic fix by lock (#750) * refactor(ci): add auto invite (#762) * refactor(ci): add auto invite (#763) * refactor(ci): add auto invite * docs: readme align * refactor(dev): fix docs site (#773) * refactor(master): cloud,app feature close (#774) * refactor(master): cloud,app feature close * 缺陷: 最新版本sealos init 安装k8s 失败 (#778) Fixes #691 * refactor(master): release rc.8 (#782) * refactor(master): changelog (#784) * update changelog to master (#785) * refactor(master): changelog Co-authored-by: steven <fhtjob@hotmail.com> Co-authored-by: oldthreefeng <louisehong4168@gmail.com> Co-authored-by: 中弈 <zhongyi.fht@alibaba-inc.com> Co-authored-by: Ryan <yangchuansheng33@gmail.com> Co-authored-by: Louis <38313565+oldthreefeng@users.noreply.github.com> Co-authored-by: ysicing <i@ysicing.me> Co-authored-by: huizhi.szh <huizhi.szh@alibaba-inc.com> Co-authored-by: aiyijing <aiyijing@live.com> Co-authored-by: scott lewis <33612882+dk-lockdown@users.noreply.github.com> Co-authored-by: wenshihong <wsh@justep.com> Co-authored-by: wisheen <wisheen@163.com> Co-authored-by: Cluas <Cluas@live.cn> Co-authored-by: currycan <ansandyzzt@gmail.com> Co-authored-by: zhangzhitao <zhangzhitao@lakala.com> Co-authored-by: rick <rick@jenkins-zh.cn> Co-authored-by: panda-lab <64345457+panda-lab@users.noreply.github.com> Co-authored-by: 付亮 <48649837+hellolittlewei@users.noreply.github.com> Co-authored-by: SorryMaker <41097970+CodeSorryMaker@users.noreply.github.com> Co-authored-by: jiangyanfei <749985146@qq.com> Co-authored-by: ldseraph <ld.seraph@163.com>
Signed-off-by: oldthreefeng louisehong4168@gmail.com
[SKIP CI]seaols: 一句话简短描述该PR内容
本次 PR的主要内容:
kubeadm init/join
前,判断当前主机cgroupdriver 并在kubeadm-config.yaml 写入cgroupdriver.PR的优势:
cgroup Driver
为 systemd, 2/3 为 cgroupfs. 当然这个不推荐.测试用例
需要测试
sealos init / join
kubeadm-config.yaml
进行init.