Skip to content
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

sealos exec 多网卡下的问题. #469

Closed
oldthreefeng opened this issue Sep 16, 2020 · 1 comment
Closed

sealos exec 多网卡下的问题. #469

oldthreefeng opened this issue Sep 16, 2020 · 1 comment

Comments

@oldthreefeng
Copy link
Collaborator

oldthreefeng commented Sep 16, 2020

哪个命令或者组件
eg. sealos exec

描述这个缺陷
配置文件

cat .sealos/config.yaml 
masters:
- 192.168.253.129:6822
...

路由

ip r | grep def
default via 192.168.160.1 dev ens33 proto static metric 101 

集群情况

kubectl get nodes -owide
NAME             STATUS     ROLES    AGE   VERSION   INTERNAL-IP       EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION                CONTAINER-RUNTIME
dev-k8s-master   Ready      master   17h   v1.18.0   192.168.160.243   <none>        CentOS Linux 7 (Core)   4.4.228-2.el7.elrepo.x86_64   docker://19.3.12

重现步骤(如果有需要可以附加图片)
bug0. 对port没有支持. 默认使用的是22端口. 如果各个节点的端口不一样. 添加--port又显得多余.
这样可以从配置文件读取所有的ip:port .然后从k8s.TransToIP(k8sClient, Label, ExecNode)获取的ip里面匹配.

bug1. 目前功能是 --label , --node

--label获取的是kubernetesinternal-ip, 这个是获取默认路由的ip.
--node 里面的 hostname 主机名也是通过kubernetesinternal-ip, 这个是获取默认路由的ip.
--node 如果是ip, 则跳过. 直接返回了.
...

当多网卡的情况. 使用init . 记录的是内网ip. 也就是非默认路由ip.
如果这个时候使用sealos exec 命令就出现逻辑错误了.

这里我对从kubernetes集群里面获取的ip 除了加internal-ip, 再添加external-ip. 刚好可以解决这两个问题.
external-ip是公网ip. 如果是纯粹内网还不行.

oldthreefeng added a commit to oldthreefeng/sealos that referenced this issue Sep 17, 2020
…abring#469  && fix --service-cidr on old version && delete route cmd
@oldthreefeng
Copy link
Collaborator Author

暂时修复了 port问题. 双网卡相关等 #468 这个pr合并之后再考虑.

cuisongliu added a commit that referenced this issue Dec 9, 2021
* 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 <[email protected]>
* [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 <[email protected]>
Co-authored-by: oldthreefeng <[email protected]>
Co-authored-by: 中弈 <[email protected]>
Co-authored-by: Ryan <[email protected]>
Co-authored-by: Louis <[email protected]>
Co-authored-by: ysicing <[email protected]>
Co-authored-by: huizhi.szh <[email protected]>
Co-authored-by: aiyijing <[email protected]>
Co-authored-by: scott lewis <[email protected]>
Co-authored-by: wenshihong <[email protected]>
Co-authored-by: wisheen <[email protected]>
Co-authored-by: Cluas <[email protected]>
Co-authored-by: currycan <[email protected]>
Co-authored-by: zhangzhitao <[email protected]>
Co-authored-by: rick <[email protected]>
Co-authored-by: panda-lab <[email protected]>
Co-authored-by: 付亮 <[email protected]>
Co-authored-by: SorryMaker <[email protected]>
cuisongliu added a commit that referenced this issue Dec 29, 2021
* 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 <[email protected]>
* [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 <[email protected]>
Co-authored-by: oldthreefeng <[email protected]>
Co-authored-by: 中弈 <[email protected]>
Co-authored-by: Ryan <[email protected]>
Co-authored-by: Louis <[email protected]>
Co-authored-by: ysicing <[email protected]>
Co-authored-by: huizhi.szh <[email protected]>
Co-authored-by: aiyijing <[email protected]>
Co-authored-by: scott lewis <[email protected]>
Co-authored-by: wenshihong <[email protected]>
Co-authored-by: wisheen <[email protected]>
Co-authored-by: Cluas <[email protected]>
Co-authored-by: currycan <[email protected]>
Co-authored-by: zhangzhitao <[email protected]>
Co-authored-by: rick <[email protected]>
Co-authored-by: panda-lab <[email protected]>
Co-authored-by: 付亮 <[email protected]>
Co-authored-by: SorryMaker <[email protected]>

* 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 <[email protected]>
Co-authored-by: oldthreefeng <[email protected]>
Co-authored-by: 中弈 <[email protected]>
Co-authored-by: Ryan <[email protected]>
Co-authored-by: Louis <[email protected]>
Co-authored-by: ysicing <[email protected]>
Co-authored-by: huizhi.szh <[email protected]>
Co-authored-by: aiyijing <[email protected]>
Co-authored-by: scott lewis <[email protected]>
Co-authored-by: wenshihong <[email protected]>
Co-authored-by: wisheen <[email protected]>
Co-authored-by: Cluas <[email protected]>
Co-authored-by: currycan <[email protected]>
Co-authored-by: zhangzhitao <[email protected]>
Co-authored-by: rick <[email protected]>
Co-authored-by: panda-lab <[email protected]>
Co-authored-by: 付亮 <[email protected]>
Co-authored-by: SorryMaker <[email protected]>
Co-authored-by: jiangyanfei <[email protected]>
Co-authored-by: ldseraph <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant