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

时间:2017-06-01 08:14:02

标签: 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

过时的文档?

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

error

3。最后,我使用Ubuntu 16 kubeadm尝试kubeadm inithttps://kubernetes.io/docs/getting-started-guides/kubeadm/

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

任何帮助?(主要是我想在Ubuntu 14中安装K8)

更新1

点3(Ubuntu 16上带有 sudo cp /etc/kubernetes/admin.conf $HOME/ sudo chown $(id -u):$(id -g) $HOME/admin.conf export KUBECONFIG=$HOME/admin.conf 的K8)通过运行

解决
08:06:00.000 [QuartzScheduler_QuartzSchedulerThread] DEBUG 
[QuartzSchedulerThread.java:268] - batch acquisition of 0 triggers
08:06:00.000 [QuartzScheduler_Worker-3] DEBUG [JobRunShell.java:212] - 
Calling execute on job 
DEFAULT.org.kairosdb.core.reporting.MetricReporterService
08:06:00.001 [QuartzScheduler_Worker-3] DEBUG 
[MetricReporterService.java:93] - Reporting metrics
08:06:09.335 
[Hector.me.prettyprint.cassandra.connection.CassandraHostRetryService-1] 
DEBUG [CassandraHostRetryService.java:123] - Retry service fired... nothing 
to do.

4 个答案:

答案 0 :(得分:11)

我对此有一些乐趣: - )

因此,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

您可以按照官方指南installing kubeadmcreating the cluster进行操作。只需跳过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
  13. 这不是一个好的&干净的解决方案,但它的工作原理。

答案 1 :(得分:1)

kubeadm是要走的路。 kube-up.sh早已被弃用了。 https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/

您可能还想尝试https://www.ubuntu.com/containers/kubernetes

答案 2 :(得分:0)

我建议使用kubernetes项目下的kops

答案 3 :(得分:-1)

在trusty-kubernetes.sh 中修改以下步骤后,第6步正在运行
==============
make_nsenter()
{  
cat< pwd:/ tmp" Ubuntu的:14.04
apt-get update
apt-get install -y git bison
apt-get build-dep -y util-linux
apt-get install -y autopoint
apt-get install -y autoconf
apt-get install -y libtool
apt-get install -y gettext
apt-get install -y pkg-config
apt-get install -y make
cd / tmp
git clone git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git
cd util-linux
./autogen.sh
./configure --without-python --disable-all-programs --enable-nsenter
制作nsenter
EOF  
cp -v util-linux / nsenter。  
rm -rf util-linux
}
=================