Kubespray 安装 kubernetes
Kubespray 是一个部署生产环境可用的 K8s 集群的工具。
[TOC]
优势
可以部署在 AWS、GCE、Azure、OpenStack、Vsphere、Packet(裸机)、Oracle 云(试验阶段),裸物理机。
高可用集群
灵活(可以选择实例的网络插件)
支持多种 Linux 发行版
持续集成测试
需求
支持 kubernetes v1.16 之上版本
在运行 Ansible 的机器上需要安装 Ansible v2.9+, Jinja 2.11+ 和 python-netaddr
服务器需要接入网络
服务器需要配置允许 IPV4 转发
服务器需要允许 ansible 主机通过 SSH Key 登录
需要自己配置防火墙。建议暂时关闭防火墙
如果服务器上执行 ansible role 的用户不是 root,应该执行权限升级(privilege escalation )。通过指定
ansible_become或--become或-b。内存要求
Master:1500 MB
Node:1024 MB
IPV4 转发
允许 IPV4 转发
关闭防火墙
Ubuntu
CentOS
通用
说明
Kubespray 版本:2.13.2。
服务器配置及部署组件:
配置
Master
Node
192.168.1.2
4C+8G
Master
Node 1
192.168.1.3
2C+6G
Node 2
192.168.1.4
2C+6G
Node 3
使用
在 Ansible 主机执行操作。
下载
Python 虚拟环境
安装依赖
拷贝 inventory
更新主机信息
调整 inventory 内的 hosts 信息
默认 Master 节点会配置两个,因为测试环境,因此保留一个即可。可按照自己需求保留两个或减少至一个。
vim inventory/mycluster/hosts.yaml
调整 docker 镜像地址
k8s.gcr.io, quay.io, hub.docker.com三个地址需要调整到国内镜像。
vim inventory/mycluster/group_vars/k8s-cluster/k8s-cluster.yml
附加:离线环境
执行
如果远程用户不是 root,使用--become, --become-user提权。
等待 ansible 执行完成:

Mac 远程访问远程 K8s 集群
安装kubectl工具
kubectl工具添加 kube 配置
将 Master 上的/root/.kube/config内的内容添加到本机的~/.kube/config中。
设置Oh~my~zsh命令提示和自动补全
Oh~my~zsh命令提示和自动补全在.zshrc的plugins=()中添加kubectl。完整示例:plugins=(kubectl)
重载.zshrc
.zshrc测试
查看 k8s 的版本

新建一个 deploy
查看 pod
Last updated
Was this helpful?