centos7安装k8s (kubernetes) 安装部署 yum方式

    技术2022-07-15  109

    使用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

    1.安装etcd 使用yum安装

    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) 说明启动成功

    2.配置api-server服务

    #安装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

    3.配置scheduler服务

    修改  /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) 说明启动成功

    4.配置controller-manager服务

    配置 /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的服务

    至此 kubernetes 的 master 服务器配置完毕

     

    node节点服务器配置

    1.在node1服务器和node2服务器都安装  kubernetes-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节点机器

    Processed: 0.008, SQL: 9