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 执行完成:

image-20200801220229507

Mac 远程访问远程 K8s 集群

安装kubectl工具

添加 kube 配置

将 Master 上的/root/.kube/config内的内容添加到本机的~/.kube/config中。

设置Oh~my~zsh命令提示和自动补全

.zshrcplugins=()中添加kubectl。完整示例:plugins=(kubectl)

重载.zshrc

测试

查看 k8s 的版本

image-20200801222759031

新建一个 deploy

查看 pod

kubespray

安装并配置 kubectl

Last updated

Was this helpful?