美文网首页
kubernet 1.8.7 on ubuntu14.04

kubernet 1.8.7 on ubuntu14.04

作者: 邪恶的奥伯伦 | 来源:发表于2018-12-11 15:19 被阅读0次

kubernet 1.8.7
docker 18.06.1-ce
ubuntu14.04

kubernet的安装是参考http://blog.yumaojun.net/2018/01/18/kubernetes-binary-install/
讲的很仔细 一步一步来就可以, 虽然文章讲的是systemd系统
ubuntu14.04的upstart只要把对应的程序参数改在相应的目录中是一样的
分别是 '''/etc/default/xxx 与 /etc/init/xxx.conf'''

值得一提的是 关于kubelet 有一个参数需要提前加上 --network-plugin=cni 因为后面实施夸host node之间的交互时,无论采用calico还是flannel 都需要用到cni, 或者先暂时不加, 后面调cni时再折腾

docker的升级,参考
https://hk.saowen.com/a/ab1e26cea30a49b68e135153a9dad1c555e3512b173a2fcc4573be1832c17d73
https://www.jianshu.com/p/61feb113b805
需要注意的是docker这次升级会让他有一个重新计算layer md5的操作, 如果我们机器上的历史image太多, 会导致 升级docker 启动时 卡N久, 所以最好能在升级docker之前,适当的清理docker image

如果kubelet 加上了cni插件的参数 发现报错 提示nsenter没有 就下一个, 把nsenter丢到path中(/usr/bin/)

关于nenter的安装参考http://www.c3crm.com/blog/?p=1496 里面提到aliyun的坑可以注意下

重启kuberlet 看看kubectl get nodes看看添加cni参数之后的node是否能起来.

然后就是夸host node交互问题, 开始我采用的calico的方案,calico有两种1个是BGP一个是ipip我用的ipip,但是有丢包的问题, 没心情一点一点debug. 改成了flannel

flannel有两种方法,
1:是下载flannel 2进制文件 配置etcd
2:kubectl create -f kube-flannel.yml 创建role, rolebinding, daemon set的方式

我采用的是2方案, 因为好方便.
flannel github: https://github.com/coreos/flannel
For Kubernetes v1.7+ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
看多简单, 我就喜欢这种.

这个kube-flannel默认的"Network": "10.244.0.0/16" 所以需要在master的kube-controller-manager的参数加上--allocate-node-cidrs=true --cluster-cidr=10.244.0.0/16
不然kubectl -n kube-system get pod会一直CrashLoopBack
参考https://github.com/coreos/flannel/issues/728 pod cidr not assgned

我把93 97的机器kube-proxy的--cluster-cidr=10.254.0.0/16 去掉了, 这个好像会影响svc的ip端, 看看有没有问题

一切顺利的话会都起来, 但是夸host ping pod如果不通的话
需要安装install cni plugins的bin文件
1.add a --network-plugin=cni to kubelet args
2.wget https://github.com/containernetworking/plugins/releases/download/v0.6.0/cni-plugins-amd64-v0.6.0.tgz

  1. cp to /opt/cni/bin
    参考https://github.com/kubernetes/kubernetes/issues/51881 The Pod-To-Pod network does not work when deploy flanneld with DaemonSet in kubernetes 1.7.5

因为我是先安装的calico 所以cni配置有一些冲突, 需要删除/etc/cni/net.d目录calico相关的东西
https://github.com/kubernetes/kubeadm/issues/578 Failed create pod sandbox. Error syncing pod. Pod sandbox changed, it will be killed and re-created.

总之 如果用kubeamin可能会更简单, 下面还有nds


reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:422: Failed to list *v1.Node: Get https://192.168.0.97:6443/api/v1/nodes?fieldSelector=metadata.name%3D192.168.0.97&resourceVersion=0: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "kubernetes")

预发布环境遇到这样的一种问题, 导致非master的node上的kubelet起不来
症状跟这个链接一样, 不过他的是kubeadmin的. 暂时没有头绪
https://blog.csdn.net/ywq935/article/details/80109090

相关文章

网友评论

      本文标题:kubernet 1.8.7 on ubuntu14.04

      本文链接:https://www.haomeiwen.com/subject/kvtehqtx.html