k8s :部署

前端之家收集整理的这篇文章主要介绍了k8s :部署前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

前言

k8s 集群部署是个老生常谈的问题,网上资料一大把,各路大神祭出了各种方案:

  • 使用 linux 发行版提供的包管理器(比如 centos yum)
  • 使用 第三方工具包(脚本)
  • 使用 第三方二次开发包

本文介绍在 浏览 k8s 源代码过程中发现的 k8s 的一种半手工的部署方法

源头

浏览源代码的过程中发现有这么个目录

  1. # /opt/kubernetes-src/src/k8s.io/cluster/centos
  2. drwxrwxr-x 4 xingpingz xingpingz 4096 12 4 13:31 ./
  3. drwxrwxr-x 21 xingpingz xingpingz 4096 12 4 13:31 ../
  4. -rwxrwxr-x 1 xingpingz xingpingz 4305 12 4 11:37 build.sh*
  5. -rwxrwxr-x 1 xingpingz xingpingz 1763 12 4 11:40 config-build.sh*
  6. -rwxrwxr-x 1 xingpingz xingpingz 4899 12 4 13:31 config-default.sh*
  7. -rw-rw-r-- 1 xingpingz xingpingz 747 12 4 11:37 config-test.sh
  8. -rwxrwxr-x 1 xingpingz xingpingz 2739 12 4 11:40 deployAddons.sh*
  9. -rw-rw-r-- 1 xingpingz xingpingz 175 12 4 11:37 .gitignore
  10. drwxrwxr-x 3 xingpingz xingpingz 4096 12 4 11:37 master/
  11. drwxrwxr-x 4 xingpingz xingpingz 4096 12 4 11:37 node/
  12. -rwxrwxr-x 1 xingpingz xingpingz 12319 12 4 11:37 util.sh*

一看就知道这些 shell 脚本应该是用于在 centos 中自动下载,安装 k8s 的

查看一下配置文件 config-build.sh,这里可以配置要下载的 k8s 各个组件的版本

  1. RELEASES_DIR=${RELEASES_DIR:-/tmp/downloads}
  2.  
  3. # Define docker version to use.
  4. DOCKER_VERSION=${DOCKER_VERSION:-"1.12.1"}
  5.  
  6. # Define flannel version to use.
  7. FLANNEL_VERSION=${FLANNEL_VERSION:-"0.6.1"}
  8.  
  9. # Define etcd version to use.
  10. ETCD_VERSION=${ETCD_VERSION:-"3.0.9"}
  11.  
  12. # Define k8s version to use.
  13. K8S_VERSION=${K8S_VERSION:-"1.3.7"}
  14.  
  15. DOCKER_DOWNLOAD_URL=\
  16. "https://get.docker.com/builds/Linux/x86_64/docker-${DOCKER_VERSION}.tgz"
  17.  
  18. FLANNEL_DOWNLOAD_URL=\
  19. "https://github.com/coreos/flannel/releases/download/v${FLANNEL_VERSION}/flannel-v${FLANNEL_VERSION}-linux-amd64.tar.gz"
  20.  
  21. ETCD_DOWNLOAD_URL=\
  22. "https://github.com/coreos/etcd/releases/download/v${ETCD_VERSION}/etcd-v${ETCD_VERSION}-linux-amd64.tar.gz"
  23.  
  24. # TODO(#33726): switch to dl.k8s.io
  25. K8S_CLIENT_DOWNLOAD_URL=\
  26. "https://storage.googleapis.com/kubernetes-release/release/v${K8S_VERSION}/kubernetes-client-linux-amd64.tar.gz"
  27. K8S_SERVER_DOWNLOAD_URL=\
  28. "https://storage.googleapis.com/kubernetes-release/release/v${K8S_VERSION}/kubernetes-server-linux-amd64.tar.gz"

从 github 上下载的组件还好说,但是从 storage.googleapis.com 拉东西下来估计够呛

总结

很多时候答案就隐藏在源代码中,与其满世界搜索,不如静下心来在 源码 或 文档中到答案~

猜你在找的Go相关文章