zoukankan      html  css  js  c++  java
  • centos部署Kubernetes(k8s)集群

    1、环境

    yum -y remove kubelet kubeadm kubectl

    卸载现在的环境yum remove kubernetes-client-1.5.2-0.7.git269f928.el7.x86_64

    192.168.100.129   #master
    192.168.100.130   #node1
    192.168.100.131   #node2

    一台master,两台node,正常来说master服务器不应该有node配置

    废话不多说上来第一件事干吗?关闭防护墙(我这是测试环境,生产环境可以开发端口参考https://www.cnblogs.com/zyb2016/p/12910483.html)

    主要是使用2379端口和8080端口

    关闭方法墙

    systemctl stop firewalld
    systemctl disable firewalld

    三台电脑全部执行

    # yum update

    2、etcd、kubernetes服务端

    开始配置master主机

    # yum install etcd kubernetes-master docker-y

    安装完执行修改文件

    # vi /etc/etcd/etcd.conf,内容如下

    ETCD_NAME=default

    ETCD_DATA_DIR="/var/lib/etcd/default.etcd"

    ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"

    ETCD_ADVERTISE_CLIENT_URLS="http://192.168.100.129:2379"

    配置完毕运行etcd

    systemctl enable etcd

    systemctl start etcd

    接下来修改apiserver

    #vi /etc/kubernetes/apiserver  内容如下

    KUBE_ETCD_SERVERS="--etcd_servers=http://192.168.100.129:2379"

    KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=192.168.100.192/26"   

    说明192.168.100.192/26"这个ip根据自己的网段设置,不知道啥意思自己去百度

    设置vi /etc/kubernetes/controller-manager参数

    KUBE_CONTROLLER_MANAGER_ARGS="--node-monitor-grace-period=10s --pod-eviction-timeout=10s"

    设置 /etc/kubernetes/config 参数

    KUBE_MASTER="--master=http://192.168.100.129:8080"

    etcd和kubernetes设置完毕接下来启动

    systemctl enable kube-apiserver kube-scheduler kube-controller-manager

    systemctl start kube-apiserver kube-scheduler kube-controller-manager

    最后执行一下命令(别问我为啥,执行就完了)

    etcdctl set /coreos.com/network/config '{ "Network" : "10.1.0.0/16" }'     

    3、kubernetes nodes配置,只讲解期中一台node

    如果有旧版本的docker需要卸载参考https://www.cnblogs.com/zyb2016/p/13679797.html

    首先执行

    yum install kubernetes-node flannel docker -y

    启动docker

    systemctl enable docker

    systemctl start docker

    修改vi /etc/sysconfig/flanneld配置

    FLANNEL_ETCD="http://192.168.163.148:2379"

    FLANNEL_ETCD_KEY="/coreos.com/network"

    启动flanneld服务

    systemctl enable flanneld.service

    systemctl restart flanneld.service

    systemctl restart docker

    修改vi /etc/kubernetes/kubelet配置

    KUBELET_HOSTNAME="--hostname_override=192.168.100.130"

    KUBELET_API_SERVER="--api_servers=http://192.168.100.129:8080"

    启动kubelet服务

    systemctl enable kubelet kube-proxy

    systemctl start kubelet kube-proxy

    最后在kubernetes server节点中执行kubectl get nodes可以显示所有的界面信息,并且都是ready状态

    如果执行发现no resource耐就执行一下试试

    systemctl restart kube-apiserver kube-scheduler kube-controller-manager

    systemctl restart etcd

    如果还不好用就要vi /etc/kubernetes/apiserver折腾一下这个了

    比如改一下KUBE_API_SERVERS,放开对应的port地址,然后执行上面的内容,在执行kubectl get nodes,发现报错,那改回去就好了都重启下就好了

  • 相关阅读:
    自动滑块验证登录QQ-java实现
    今日校园自动提交问卷-Java实现
    文库下载实现自动化
    测试
    软件工程结课小结
    结对项目-java生成四则运算
    JS判断对象为空的三种方法
    vue 组件间 8 大通讯方式 之三 eventBus
    vue 组件间 8 大通讯方式 之二 provide/ inject ref / refs
    vue 组件间 8 大通讯方式 之一 props / $emit $children / $parent
  • 原文地址:https://www.cnblogs.com/zyb2016/p/13686254.html
Copyright © 2011-2022 走看看