Skip to content

Commit

Permalink
更新k8s1.9.1
Browse files Browse the repository at this point in the history
  • Loading branch information
jmgao1983 committed Jan 7, 2018
1 parent 798191f commit f328a21
Show file tree
Hide file tree
Showing 6 changed files with 39 additions and 23 deletions.
12 changes: 5 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,23 @@

![docker](./pics/docker.jpg) ![kube](./pics/kube.jpg) ![ansible](./pics/ansible.jpg)

本系列文档致力于提供快速部署高可用`k8s`集群的工具,并且也努力成为`k8s`实践、使用的参考书;基于二进制方式部署和利用`ansible-playbook`实现自动化:既提供一键安装脚本,也可以分步执行安装各个组件,同时讲解每一步主要参数配置和注意事项。
本系列文档致力于提供快速部署高可用`k8s`集群的工具,并且也努力成为`k8s`实践、使用的参考书;基于二进制方式部署和利用`ansible-playbook`实现自动化:既提供一键安装脚本,也可以分步执行安装各个组件,同时讲解每一步主要参数配置和注意事项;二进制方式部署有助于理解系统各组件的交互原理和熟悉组件启动参数,有助于快速排查解决实际问题

**集群特性:`TLS` 双向认证、`RBAC` 授权、多`Master`高可用、支持`Network Policy`**

二进制方式部署优势:有助于理解系统各组件的交互原理和熟悉组件启动参数,有助于快速排查解决实际问题

**注意:** 为提高集群网络插件安装的灵活性,使用`DaemonSet Pod`方式运行网络插件,目前支持`Calico` `flannel`可选

文档基于`Ubuntu 16.04/CentOS 7`,其他系统需要读者自行替换部分命令;由于使用经验有限和简化脚本考虑,已经尽量避免`ansible-playbook`的高级特性和复杂逻辑。

你可能需要掌握基本`kubernetes` `docker` `linux shell` 知识,关于`ansible`建议阅读 [ansible超快入门](http://weiweidefeng.blog.51cto.com/1957995/1895261) 基本够用。

欢迎提`Issues``PRs`参与维护项目。
请阅读[项目分支说明](branch.md)欢迎提`Issues``PRs`参与维护项目。

## 组件版本

1. kubernetes v1.9.0
1. etcd v3.2.11
1. docker 17.09.1-ce
1. kubernetes v1.9.1
1. etcd v3.2.13
1. docker 17.12.0-ce
1. calico/node v2.6.5
1. flannel v0.9.1

Expand Down
7 changes: 7 additions & 0 deletions branch.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
## 项目分支说明

目前项目分支为 `master` `v1.9` `v1.8`,说明如下:

- `master` 分支将尽量使用最新版k8s和相关组件,网络使用`DaemonSet Pod`方式安装,目前提供`calico` `flannel` 可选
- `v1.9` 分支将尽量使用k8s v1.9的最新小版本和相关组件,使用`systemd service`方式安装 `calico`网络
- `v1.8` 分支将尽量使用k8s v1.8的最新小版本和相关组件,使用`systemd service`方式安装 `calico`网络
2 changes: 1 addition & 1 deletion docs/00-集群规划和基础参数设定.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ mv kubeasz /etc/ansible
# 下载已打包好的binaries,并且解压缩到/etc/ansible/bin目录
# 国内请从我分享的百度云链接下载 https://pan.baidu.com/s/1c4RFaA
# 如果你有合适网络环境也可以按照/down/download.sh自行从官网下载各种tar包到 ./down目录,并执行download.sh
tar zxvf k8s.190.tar.gz
tar zxvf k8s.191.tar.gz
mv bin/* /etc/ansible/bin
cd /etc/ansible
cp example/hosts.m-masters.example hosts
Expand Down
4 changes: 2 additions & 2 deletions docs/07-安装flannel网络组件.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
## 07-安装flannel网络组件.md

**注意:**只需选择安装`calico` `flannel`其中之一,如果你已经安装了`calico`,请跳过此步骤。
** 注意: ** 只需选择安装`calico` `flannel`其中之一,如果你已经安装了`calico`,请跳过此步骤。

关于k8s网络设计和CNI Plugin的介绍请阅读[安装calico](07-安装calico网络组件.md)中相关内容。

`Flannel`是最早应用到k8s集群的网络插件之一,简单高效,且提供多个后端`backend`模式供选择;本文介绍已`DaemonSet Pod`方式集成到k8s集群,需要在所有master节点和node节点安装。
`Flannel`是最早应用到k8s集群的网络插件之一,简单高效,且提供多个后端`backend`模式供选择;本文介绍以`DaemonSet Pod`方式集成到k8s集群,需要在所有master节点和node节点安装。

``` text
roles/flannel/
Expand Down
2 changes: 1 addition & 1 deletion docs/quickStart.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ mv kubeasz /etc/ansible
# 下载已打包好的binaries,并且解压缩到/etc/ansible/bin目录
# 国内请从分享的百度云链接下载 https://pan.baidu.com/s/1c4RFaA
# 如果你有合适网络环境也可以按照/down/download.sh自行从官网下载各种tar包到 ./down目录,并执行download.sh
tar zxvf k8s.190.tar.gz
tar zxvf k8s.191.tar.gz
mv bin/* /etc/ansible/bin
# 配置ansible的hosts文件
cd /etc/ansible
Expand Down
35 changes: 23 additions & 12 deletions down/download.sh
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
#!/bin/bash
#主要组件版本如下
export K8S_VER=v1.9.0
export ETCD_VER=v3.2.11
export DOCKER_VER=17.09.1-ce
export CALICO_VER=v2.6.3
export K8S_VER=v1.9.1
export ETCD_VER=v3.2.13
export DOCKER_VER=17.12.0-ce
export CNI_VER=v0.6.0
export DOCKER_COMPOSE=1.18.0
export HARBOR=v1.2.2

echo "\n建议直接下载本人打包好的所有必要二进制包k8s-190.all.tar.gz,然后解压到bin目录"
echo "\n建议直接下载本人打包好的所有必要二进制包k8s-***.all.tar.gz,然后解压到bin目录"
echo "\n建议不使用此脚本,如果你想升级组件或者实验,请通读该脚本,必要时适当修改后使用"
echo "\n注意1:因为网络原因不进行自动下载,请按照以下链接手动下载二进制包到down目录中"
echo "\n注意1:请按照以下链接手动下载二进制包到down目录中"
echo "\n注意2:如果还没有手工下载tar包,请Ctrl-c结束此脚本"

echo "\n----download k8s binary at:"
Expand All @@ -27,18 +27,15 @@ echo https://pkg.cfssl.org/R1.2/cfssl_linux-amd64
echo https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64
echo https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64

echo "\n----download calico at:"
echo https://docs.projectcalico.org/v2.6/releases/

echo "\n----download calico cni-plugin at:"
echo https://github.com/projectcalico/cni-plugin/releases

echo "\n----download docker-compose at:"
echo https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE}/docker-compose-Linux-x86_64

echo "\n----download harbor-offline-installer at:"
echo https://github.com/vmware/harbor/releases/download/${HARBOR}/harbor-offline-installer-${HARBOR}.tgz

echo "\n----download cni plugins at:"
echo https://github.com/containernetworking/plugins/releases/download/${CNI_VER}/cni-${CNI_VER}.tgz

sleep 30

### 准备证书工具程序
Expand Down Expand Up @@ -96,3 +93,17 @@ if [ -f "docker-${DOCKER_VER}.tgz" ]; then
else
echo 请先下载docker-${DOCKER_VER}.tgz
fi

### 准备cni plugins,仅安装flannel需要,安装calico由容器专门下载cni plugins
echo "\n准备cni plugins,仅安装flannel需要,安装calico由容器专门下载cni plugins..."
if [ -f "cni-${CNI_VER}.tgz" ]; then
echo "\nextracting cni plugins binaries..."
tar zxf cni-${CNI_VER}.tgz
mv bridge ../bin
mv flannel ../bin
mv host-local ../bin
mv loopback ../bin
mv portmap ../bin
else
echo 请先下载cni-${CNI_VER}.tgz
fi

0 comments on commit f328a21

Please sign in to comment.