使用kubernetes集群
master
centOs7
192.168.33.225
docker、etcd、api-server、scheduler、controller-manager、flannel
node1
centOs7
192.168.33.226
docker、kubelet、proxy、flannel
node2
centOs7
192.168.33.227
docker、kubelet、proxy、flannel
首先配置master主机操作
所有机器关闭防火墙
systemctl stop firewalld systemctl disable firewalld setenforce 0 #查看防火墙状态 firewall-cmd --state修改etcd.conf的配置
vi /etc/etcd/etcd.conf #主要修改一下内容 ETCD_DATA_DIR="/var/lib/etcd/default.etcd" ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379" //改为0.0.0.0 ETCD_NAME="default" ETCD_ADVERTISE_CLIENT_URLS="http://192.168.33.225:2379" //改为本机ip地址 使用 Shift+z+z 快捷键保存并退出启动etcd服务
systemctl start etcd #查看启动状态 systemctl status etcd //显示 Active: active (running) 说明启动成功#安装完成cd到 /etc/kubernetes/ 目录 #配置文件有以下结构
修改apiserver配置
vi apiserver修改如下
#API服务监听地址 KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0" #API服务监听端口 KUBE_API_PORT="--port=8080" #Etcd服务地址 KUBE_ETCD_SERVERS="--etcd-servers=http://192.168.33.225:2379" 配置DNS在一个区间 KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16" #对api请求控制 AlwaysAdmit 不做限制,允许所有结点访问apiserver KUBE_ADMISSION_CONTROL=""启动apiserver服务
systemctl start kube-apiserver #查看启动启动状态 systemctl status kube-apiserver修改 /etc/kubernetes/scheduler 配置文件
vi /etc/kubernetes/scheduler新增如下配置 然后 Shift+z+z 保存退出
KUBE_LOGTOSTDERR="--logtostderr=true" KUBE_LOG_LEVEL="--v=4" KUBE_MASTER="--master=192.168.33.225:8080" KUBE_LEADER_ELECT="--leader-elect"配置结果如下
启动scheduler服务
systemctl start kube-scheduler #查看状态 systemctl status kube-scheduler //显示 Active: active (running) 说明启动成功配置 /etc/kubernetes/controller-manager
vi /etc/kubernetes/controller-manager #新增如下配置 KUBE_LOGTOSTDERR="--logtostderr=true" KUBE_LOG_LEVEL="--v=4" KUBE_MASTER="--master=192.168.33.225:8080"启动kube-controller-manager 服务
systemctl start kube-controller-manager #查看启动状态 systemctl status kube-controller-manager #停止服务 systemctl stop kube-controller-manager使用 netstat -tunlp|grep kube 查看kube的服务
node节点服务器配置
修改 kubelet 配置
vi /etc/kubernetes/config主要修改 指定 master节点地址 Shift+z+z 退出并保存
参数如下
# 启用日志标准错误 KUBE_LOGTOSTDERR="--logtostderr=true" # 日志级别 KUBE_LOG_LEVEL="--v=0" #允许容器请求特权模式,默认false KUBE_ALLOW_PRIV="--allow-privileged=false" #指定master节点 KUBE_MASTER="--master=http://192.168.33.225:8080"修改结果如下
修改 /etc/kubernetes/kubelet 文件
# Kubelet监听IP地址 KUBELET_ADDRESS="--address=0.0.0.0" # Kubelet监听服务端口 KUBELET_PORT="--port=10250" #配置kubelet主机 KUBELET_HOSTNAME="--hostname-override=192.168.33.226" #配置apiserver 服务地址 KUBELET_API_SERVER="--api-servers=http://192.168.33.225:8080" #默认获取容器镜像地址 KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure:latest" KUBELET_ARGS="" vi /etc/kubernetes/kubelet修改结果如下
启动并查看状态
systemctl start kubelet systemctl status kubelet
修改proxy配置
vi /etc/kubernetes/proxy增加如下配置
NODE_HOSTNAME="--hostname-override=192.168.33.226"配置结果如下
启动proxy服务
systemctl start kube-proxy systemctl status kube-proxy
在master主机上执行 kubectl get nodes 查看运行的node节点机器
