diff --git a/docs/release-notes/kubeasz-1.3.0.md b/docs/release-notes/kubeasz-1.3.0.md new file mode 100644 index 0000000..72acdf2 --- /dev/null +++ b/docs/release-notes/kubeasz-1.3.0.md @@ -0,0 +1,27 @@ +## kubeasz-1.3.0 发布说明 + +CHANGELOG: +- 组件更新: + - k8s: v1.14.3 v1.13.7 + - calico: v3.4.4 + - kube-router: v0.3.1 + - traefik v1.7.12 +- 集群安装: + - 重写容器化运行kubeasz的脚本 tools/easzup + - 增加网络插件 kube-ovn 及说明 docs/setup/network-plugin/kube-ovn.md + - 增加支持 containerd 离线镜像导入 + - 增加 kubelet 可选配置 kube-reserved/system-reserved 资源预留(默认开启) + - 移除 dockerfiles 内容,转移至 https://github.com/kubeasz/dockerfiles + - 添加安装 docker/containerd 互斥判断 + - 废弃 ansible hosts 中变量CLUSTER_DNS_SVC_IP等,配置更精简方便 + - 增加默认自动安装 traefik + - 优化haproxy 最大连接数为50000 +- 文档: + - 更新ha-1x架构等文档 + - 更新容器化运行 kubeasz 文档 docs/setup/docker_kubeasz.md +- 其他: + - fix: 双网卡下 apiserver endpoint 可能错误 #479 + - fix: 安全加固(roles/os-harden)默认允许ip_forward + - fix: docker/containerd 安装检查 + - fix: docker运行kubeasz时判断ansible控制端与deploy节点分离的条件 + - fix: docker运行kubeasz时清理脚本 99.clean.yml diff --git a/docs/setup/docker_kubeasz.md b/docs/setup/docker_kubeasz.md index 688c006..45a60f7 100644 --- a/docs/setup/docker_kubeasz.md +++ b/docs/setup/docker_kubeasz.md @@ -2,66 +2,57 @@ ## TL;DR; -- 1.本机安装 docker (略) +- 1.准备一台全新虚机(ansible控制端) +``` +$ curl -sfL https://github.com/easzlab/kubeasz/releases/download/1.3.0/easzup +$ ./easzup -D +``` - 2.配置 ssh 密钥登陆集群节点 - ``` bash ssh-keygen -t rsa -b 2048 回车 回车 回车 ssh-copy-id $IP # $IP 为所有节点地址包括自身,按照提示输入 yes 和 root 密码 ``` - -- 3.下载 kubeasz docker 镜像并运行 (可能需较长时间下载镜像jmgao1983/kubeasz) +- 3.容器化运行 kubeasz,然后执行安装 k8s 集群(举例aio集群) ``` bash -curl -sfL https://github.com/easzlab/kubeasz/releases/download/1.0.0/kubeasz-docker-1.0.0 | bash - -``` - -- 4.在 kubeasz 容器中创建 k8s 集群,步骤与非容器方式创建类似,快速创建单节点集群如下 - -``` bash -docker exec -it kubeasz easzctl start-aio +$ ./easzup -S +$ docker exec -it kubeasz easzctl start-aio +# 若需要自定义集群创建,如下进入容器,然后配置/etc/ansible/hosts,执行创建即可 +# docker exec -it kubeasz sh ``` ## 验证 使用容器化安装成功后,可以在 **容器内** 或者 **宿主机** 上执行 kubectl 命令验证集群状态。 -## kubeasz 镜像介绍 +## easzup 工具介绍 -镜像描述文件 dockerfiles/kubeasz/Dockerfile,它基于 ansible 镜像(dockerfiles/ansible/Dockerfile),主要包含 kubeasz 项目代码和 k8s 集群安装所需二进制文件。 +初始化工具 tools/easzup 主要用于: -- 在本地创建 kubeasz 镜像,由于镜像较大,可以按以下步骤在本地创建 +- 下载 kubeasz 项目代码/k8s 二进制文件/其他所需二进制文件/离线docker镜像等 +- 【可选】容器化运行 kubeasz + +详见脚本内容 + +### 容器化运行 kubeasz + +容器启动脚本详见文件 tools/easzup 中函数`start_kubeasz_docker` ``` bash -cd /etc/ansible/dockerfiles/kubeasz -# 克隆代码 -git clone --depth=1 https://github.com/easzlab/kubeasz.git -# 手动下载二进制文件放入上述 git clone 完成目录 kubeasz/bin -docker build -t kubeasz:$TAG . -``` - -## 容器运行讲解 - -容器启动脚本详见文件 tools/kubeasz_docker - -``` bash -docker run --detach \ + docker run --detach \ --name kubeasz \ --restart always \ - --env HOST_IP=$host_ip \ + --env HOST_IP="$host_ip" \ --volume /etc/ansible:/etc/ansible \ --volume /root/.kube:/root/.kube \ --volume /root/.ssh/id_rsa:/root/.ssh/id_rsa:ro \ --volume /root/.ssh/id_rsa.pub:/root/.ssh/id_rsa.pub:ro \ --volume /root/.ssh/known_hosts:/root/.ssh/known_hosts:ro \ - $KUBEASZ_DOCKER_VER + easzlab/kubeasz:${KUBEASZ_VER} ``` -- --env HOST_IP=$host_ip 传递这个参数是为了快速在本机安装aio集群 +- --env HOST_IP="$host_ip" 传递这个参数是为了快速在本机安装aio集群 - --volume /etc/ansible:/etc/ansible 挂载本地目录,这样可以在宿主机上修改集群配置,然后在容器内执行 ansible 安装 - --volume /root/.kube:/root/.kube 容器内与主机共享 kubeconfig,这样都可以执行 kubectl 命令 - --volume /root/.ssh/id_rsa:/root/.ssh/id_rsa:ro 等三个 volume 挂载保证:如果宿主机配置了免密码登陆所有集群节点,那么容器内也可以免密码登陆所有节点 -## 参考 - -- ansible 容器镜像制作: https://github.com/William-Yeh/docker-ansible