由于环境限制,只能搭建一个单机的玩玩
操作系统:centos7 使用yum方式安装
1 检查是否已经安装过docker,如果已经安装过,建议卸载,因为安装k8s的时候,会自动安装docker,如果和已有的docker版本不一致,则安装失败
2 配置yum,网络环境下,建议使用阿里云的源,此处不再赘述
3 关闭防火墙(主要是为了集群间的通讯)
centos默认使用firewalld,有的机器可能改成了iptables,这里也需要管理
$ systemctl stop firewalld
$ systemctl disable firewalld
4 安装 yum install -y etcd kubernetes
-y 的意思是在过程中全自动选yues
etcd是一个键值存储系统,用于共享配置和服务发现 基于ratf算法处理日志复制保证强一致性 解决了分布式系统中,如果管理节点间状态的难题
5 配置etcd
$ vi /etc/etcd/etcd.conf
修改ENT_URLS = “http://0.0.0.0:2379”
# 0.0.0.0表示允许监听所有端口
6配置apiserver
$ vi /etc/kubernetes/apiserver
修改为(删除ServiceAccount)此功能主要做鉴权用
修改KUBE_API_ADDRESS为0.0.0.0(不要使用localhost)
7 启动服务
# 相继启动着几个服务 并打印状态
for SERVICES in etcd docker kube-apiserver kube-controller-manager kube-scheduler kubelet kube-proxy;do
systemctl restart $SERVICES
systemctl enable$SERVICES
systemctl status $SERVICES
8 安装应用验证
k8s使用pod来进行容器管理
下载例子:https://git.oschina.net/99fu/Guestbook-Redis.git,
进入到下载的目录,执行$ kubectl create -f ./
此时k8s会调用docker进行安装部署
使用kubectl get pods 查看pods
使用kubectl get node 查看node节点
9验证:在浏览器中输入ip:30001可以看到demo的例子
注意:集群环境下 flannel是针对k8s设计的一个局域网规划服务 它能够让集群中的不同节点主机创建的docker容器都是唯一的虚拟ip地址
如果在集群环境下:node节点需要启动 kube-proxy(k8s代理服务,node与etcd的交互) kubelet docker flannel