如何在Ubuntu 14中安装最新的生产级Kubernetes

Vee*_*dra 8 ubuntu kubernetes

1.关注 - > https://kubernetes.io/docs/getting-started-guides/ubuntu/manual/

我按照他们在doc中提到的那样进行克隆.git clone --depth 1 https://github.com/kubernetes/kubernetes.git.我找不到cluster/ubuntu/config-default.sh配置群集的文件.

好的,我把它保留为默认值并尝试运行KUBERNETES_PROVIDER=ubuntu ./kube-up.sh但没有verify-kube-binaries.sh文件

root@ultron:/home/veeru# KUBERNETES_PROVIDER=ubuntu ./kube-up.sh
... Starting cluster using provider: ubuntu
... calling verify-prereqs
Skeleton Provider: verify-prereqs not implemented
... calling verify-kube-binaries
./kube-up.sh: line 44: verify-kube-binaries: command not found
Run Code Online (Sandbox Code Playgroud)

过时的文件?

2.从官方git repo,我已经下载了1.6.4版本(Branch- > Tag- > v1.6.4)cluster/ubuntu/config-default.sh配置后我KUBERNETES_PROVIDER=ubuntu ./kube-up.shcluster目录中运行.但是有些链接已经过时了!

错误

3.最后,我试图Ubuntu 16kubeadm.https://kubernetes.io/docs/getting-started-guides/kubeadm/

kubeadm init命令成功完成没有任何问题,但是当我尝试时kubectl cluster-info,它正在显示The connection to the server localhost:8080 was refused

有什么帮助?(主要是我想在Ubuntu 14中安装K8)

更新1

点3(Ubuntu 16上的K8 kubeadm)通过运行解决

  sudo cp /etc/kubernetes/admin.conf $HOME/
  sudo chown $(id -u):$(id -g) $HOME/admin.conf
  export KUBECONFIG=$HOME/admin.conf
Run Code Online (Sandbox Code Playgroud)

Jan*_*art 12

我对此有一些乐趣:-)

因此,Ubuntu 14.04(Trusty)上的Kubernetes 1.6.4:

  • 已经nsenter构建和安装(nsenter是一个硬kubelet依赖,并没有出现在14.04)
  • 修补kubeletkubeadm包以删除systemd依赖关系(并用upstart脚本重新配置它)
  • kubelet手动启动kubeadm init(因为kubeadm只支持systemd风格的init系统)

我已经为上面创建了一个概念验证脚本.它位于:https: //gist.github.com/lenartj/0b264cb70e6cb50dfdef37084f892554#file-trusty-kubernetes-sh

您可以按照安装kubeadm创建群集的官方指南进行操作.刚刚跳过kubeadmkubelet安装步骤和使用上面,而不是脚本.

有一个演示:https://asciinema.org/a/124160

步骤是:

  1. 安装docker: curl -sSL https://get.docker.com/ | sh
  2. 安装apt-transport-https: apt-get update && apt-get install -y apt-transport-https
  3. 添加kubernetes存储库密钥: curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key a
  4. 添加kubernetes- xenial存储库:echo 'deb http://apt.kubernetes.io/ kubernetes-xenial main' >/etc/apt/sources.list.d/kubernetes.list
  5. 安装kubectl,kubernetes-cni和kubelet的依赖项: apt-get install -y kubectl kubernetes-cni binutils ebtables socat
  6. 运行脚本以创建kubelet和kubeadm包以及nsenter二进制文件: curl -sSL https://gist.github.com/lenartj/0b264cb70e6cb50dfdef37084f892554#file-trusty-kubernetes-sh | bash
  7. 安装nsenter二进制文件: cp -v /tmp/tmp.xxxxx/nsenter /usr/local/bin
  8. 安装kubelet和kubeadm包: dpkg -i /tmp/tmp.xxxxx/*-patched
  9. 初始化主人: kubeadm init
  10. 启动kubelet(当kubeadm正在等待控制平面时): service kubelet start
  11. 配置kubectl管理员凭据: cp /etc/kubernetes/admin.conf $HOME/; chown $(id -u):$(id -g) $HOME/admin.conf; export KUBECONFIG=$HOME/admin.conf
  12. 安装Pod网络(weave-net): kubectl apply -f https://git.io/weave-kube-1.6

这不是一个好的和干净的解决方案,但它的工作原理.