博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最小化安装k8s
阅读量:5117 次
发布时间:2019-06-13

本文共 3204 字,大约阅读时间需要 10 分钟。

最小化安装k8s

 
 
2018.07.11 10:40* 字数 670 阅读 0评论 0

1.前言

之前写过一篇二进制手工安装k8s的文章,过程复杂,搞了多日才安装成功。

直到最近,在github上看到一个使用Ansible安装k8s的工程,安装过程之简单着实让我惊讶,感谢作者的开源精神。

原项目地址: 

作者fork项目地址:

本文是读该项目的的读书笔记,相对原文稍微有一点改动,文中介绍了最小话安装的流程,读者如果需要做高可用安装可以参考github项目;

本文介绍最小化安装k8s;
安装系统版本: CentOS Linux release 7.5.1804 (Core)

2.基础系统配置

  • 推荐内存2G/硬盘30G以上
  • CentOS Linux release 7.5.1804 (Core)
  • 配置基础网络、更新源、SSH登陆等

3.安装依赖工具

CentOS 7 请执行以下脚本:

# 文档中脚本默认均以root用户执行# 安装 epel 源yum install epel-release -y# 安装依赖工具yum install git python python-pip -y

3.ansible安装及准备

# 安装ansible (国内如果安装太慢可以直接用pip阿里云加速)#pip install pip --upgrade#pip install ansiblepip install pip --upgrade -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.compip install --no-cache-dir ansible -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com# 配置ansible ssh密钥登陆ssh-keygen -t rsa -b 2048 回车 回车 回车ssh-copy-id $IP #$IP为本虚机地址,按照提示输入yes 和root密码

4.安装kubernetes集群

  • 4.1 下载项目源码
# 方式一:使用git clonegit clone https://github.com/gjmzj/kubeasz.gitmkdir -p /etc/ansiblemv kubeasz/* /etc/ansible# 方式二:从发布页面 https://github.com/gjmzj/kubeasz/releases 下载源码解压到同样目录
  • 4.2a 下载二进制文件
    请从分享的,下载解压到/etc/ansible/bin目录,如果你有合适网络环境也可以按照/down/download.sh自行从官网下载各种tar包
tar zxvf k8s.1-9-8.tar.gz   # 以安装k8s v1.9.8为例mv bin/* /etc/ansible/bin
  • 4.2b [可选]下载离线docker镜像
    服务器使用内部yum源/apt源,但是无法访问公网情况下,请下载离线docker镜像完成集群安装;从百度云盘把basic_images_kubeasz_x.y.tar.gz 下载解压到/etc/ansible/down 目录
tar zxvf basic_images_kubeasz_0.2.tar.gz -C /etc/ansible/down
  • 4.3 配置集群参数
cd /etc/ansiblecp example/hosts.allinone.example hostsvim hosts           # 根据实际情况修改此hosts文件,所有节点改成本机IP# 验证ansible安装,正常能看到每个节点返回 SUCCESSansible all -m ping
  • 4.4 开始安装
    如果你对集群安装流程不熟悉,请阅读项目首页 安装步骤 讲解后分步安装,并对 每步都进行验证
# 分步安装ansible-playbook 01.prepare.ymlansible-playbook 02.etcd.ymlansible-playbook 03.docker.ymlansible-playbook 04.kube-master.ymlansible-playbook 05.kube-node.ymlansible-playbook 06.network.ymlansible-playbook 07.cluster-addon.yml # 一步安装#ansible-playbook 90.setup.yml
  • [可选]对集群节点进行操作系统层面的安全加固 ansible-playbook roles/os-harden/os-harden.yml,详情请参考

5.验证安装

如果提示kubectl: command not found,退出重新ssh登陆一下,环境变量生效即可

kubectl versionkubectl get componentstatus # 可以看到scheduler/controller-manager/etcd等组件 Healthykubectl get node # 可以看到单 node Ready状态kubectl get pod --all-namespaces # 可以查看所有集群pod状态,默认已安装网络插件、coredns、metrics-server等kubectl get svc --all-namespaces # 可以查看所有集群服务状态# 可以看到 # kubernetes master(apiserver)组件 running # kubernetes-dashboard is running at.. kubectl cluster-info # 获取访问dashboard token kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}') # 使用浏览器访问前面``kubectl cluster-info ``获取的dashboard地址,最后一条命令获取的token登陆。

6.安装主要组件

# 安装kubedns,默认已集成安装#kubectl create -f /etc/ansible/manifests/kubedns# 安装dashboard,默认已集成安装#kubectl create -f /etc/ansible/manifests/dashboard
  • 登陆 dashboard可以查看和管理集群,更多内容请查阅

7.清理集群

以上步骤创建的K8S开发测试环境请尽情折腾,碰到错误尽量通过查看日志、上网搜索、提交issues等方式解决;当然如果是彻底奔溃了,可以清理集群后重新创建。

ansible-playbook 99.clean.yml

如果出现清理失败,类似报错:... Device or resource busy: '/var/run/docker/netns/xxxxxxxxxx',需要手动umount该目录后重新清理

$ umount /var/run/docker/netns/xxxxxxxxxx$ ansible-playbook /etc/ansible/tools/clean_one_node.yml

转载于:https://www.cnblogs.com/cheyunhua/p/9389650.html

你可能感兴趣的文章
SDN第四次作业
查看>>
DM8168 DVRRDK软件框架研究
查看>>
django迁移数据库错误
查看>>
yii 跳转页面
查看>>
洛谷 1449——后缀表达式(线性数据结构)
查看>>
Data truncation: Out of range value for column 'Quality' at row 1
查看>>
Dirichlet分布深入理解
查看>>
字符串处理
查看>>
HtmlUnitDriver 网页内容动态抓取
查看>>
ad logon hour
查看>>
获得进程可执行文件的路径: GetModuleFileNameEx, GetProcessImageFileName, QueryFullProcessImageName...
查看>>
证件照(1寸2寸)拍摄处理知识汇总
查看>>
罗马数字与阿拉伯数字转换
查看>>
Eclipse 反编译之 JadClipse
查看>>
Python入门-函数
查看>>
[HDU5727]Necklace(二分图最大匹配,枚举)
查看>>
距离公式汇总以及Python实现
查看>>
一道不知道哪里来的容斥题
查看>>
Blender Python UV 学习
查看>>
window添加右键菜单
查看>>