k8s :部署

xingpingz · · 2847 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

前言

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

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

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

源头

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

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

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

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

RELEASES_DIR=${RELEASES_DIR:-/tmp/downloads}

# Define docker version to use.
DOCKER_VERSION=${DOCKER_VERSION:-"1.12.1"}

# Define flannel version to use.
FLANNEL_VERSION=${FLANNEL_VERSION:-"0.6.1"}

# Define etcd version to use.
ETCD_VERSION=${ETCD_VERSION:-"3.0.9"}

# Define k8s version to use.
K8S_VERSION=${K8S_VERSION:-"1.3.7"}

DOCKER_DOWNLOAD_URL=\
"https://get.docker.com/builds/Linux/x86_64/docker-${DOCKER_VERSION}.tgz"

FLANNEL_DOWNLOAD_URL=\
"https://github.com/coreos/flannel/releases/download/v${FLANNEL_VERSION}/flannel-v${FLANNEL_VERSION}-linux-amd64.tar.gz"

ETCD_DOWNLOAD_URL=\
"https://github.com/coreos/etcd/releases/download/v${ETCD_VERSION}/etcd-v${ETCD_VERSION}-linux-amd64.tar.gz"

# TODO(#33726): switch to dl.k8s.io
K8S_CLIENT_DOWNLOAD_URL=\
"https://storage.googleapis.com/kubernetes-release/release/v${K8S_VERSION}/kubernetes-client-linux-amd64.tar.gz"
K8S_SERVER_DOWNLOAD_URL=\
"https://storage.googleapis.com/kubernetes-release/release/v${K8S_VERSION}/kubernetes-server-linux-amd64.tar.gz"

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

总结

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


有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:xingpingz

查看原文:k8s :部署

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2847 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传