./easzup -P
上述脚本运行成功后,所有文件(kubeasz代码、二进制、离线镜像)均已整理好放入目录/etc/ansible
-
/etc/ansible
包含 kubeasz 版本为 ${release} 的发布代码 -
/etc/ansible/bin
包含 k8s/etcd/docker/cni 等二进制文件 -
/etc/ansible/down
包含集群安装时需要的离线容器镜像 -
/etc/ansible/down/packages
包含集群安装时需要的系统基础软件
3.安装集群
- 容器化运行 kubeasz
./easzup -S
- 使用默认配置安装 aio 集群
docker exec -it kubeasz easzctl start-aio
4.验证安装
如果提示kubectl: command not found,退出重新ssh登录一下,环境变量生效即可
$ kubectl version # 验证集群版本
$ kubectl get node # 验证节点就绪 (Ready) 状态
$ kubectl get pod -A # 验证集群pod状态,默认已安装网络插件、coredns、metrics-server等
$ kubectl get svc -A # 验证集群服务状态
编写YAML文件
Kubernetes 跟 Docker 等很多项目最大的不同,就在于它不推荐你使用命令行的方式直接运行容器,而是希望你用 YAML 文件的方式,然后用这样一句指令把它运行起来:
$ kubectl create -f 我的配置文件
yaml如下:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
selector:
matchLabels:
app: nginx
replicas: 2
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80
Kind 字段,指定了这个 API 对象的类型(Type),是一个 Deployment。Deployment,是一个定义多副本应用的对象,Deployment 还负责在 Pod 定义发生变化时,对每个副本进行滚动更新。
像这样使用一种 API 对象(Deployment)管理另一种 API 对象(Pod)的方法,在