使用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
yum -y install etcd
#查看etcd版本
etcd --version
#查看etcd安装的目录
rpm -ql etcd
修改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) 说明启动成功
#安装master主机上的kubernetes-master包
yum -y install kubernetes-master
#安装完成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节点服务器配置
yum -y install kubernetes-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节点机器