工作环境:

主机名 IP 系统
master 192.168.199.6 rhel7.4
node1 192.168.199.7 rhel7.4
node2 192.168.199.8 rhel7.4

[root@master ~]#yum install kubernetes etcd flannel -y

[root@node1 ~]#yum install kubernetes flannel -y

[root@node2 ~]#yum install kubernetes flannel -y

[root@master ~]# vim /etc/etcd/etcd.conf
  6 ETCD_LISTEN_CLIENT_URLS="http://localhost:2379,http://192.168.199.6:2379"
 21 ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379,http://192.168.199.6:2379"
[root@master ~]# systemctl start etcd

[root@master ~]# netstat  -autup|grep 2379
tcp        0      0 localhost:2379          0.0.0.0:*               LISTEN      5442/etcd           
tcp        0      0 master:2379             0.0.0.0:*               LISTEN      5442/etcd           
tcp        0      0 master:2379             master:51468            ESTABLISHED 5442/etcd           
tcp        0      0 localhost:2379          localhost:38090         ESTABLISHED 5442/etcd           
tcp        0      0 master:51468            master:2379             ESTABLISHED 5442/etcd           
tcp        0      0 master:51456            master:2379             TIME_WAIT   -                   
tcp        0      0 localhost:38090         localhost:2379          ESTABLISHED 5442/etcd 
[root@master ~]# systemctl enable etcd

检查etcd cluster状态
[root@master ~]# etcdctl cluster-health
member 8e9e05c52164694d is healthy: got healthy result from http://192.168.199.6:2379
cluster is healthy

检查etcd集群成员列表

[root@master ~]# etcdctl member list
8e9e05c52164694d: name=default peerURLs=http://localhost:2380 clientURLs=http://192.168.199.6:2379,http://localhost:2379 isLeader=true

[root@master ~]# vim /etc/kubernetes/config
 22 KUBE_MASTER="--master=http://192.168.199.6:8080"
[root@master ~]# vim /etc/kubernetes/apiserver
  8 KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"
 17 KUBE_ETCD_SERVERS="--etcd-servers=http://192.168.199.6:2379"
 23 KUBE_ADMISSION_CONTROL="--admission-control=AlwaysAdmit"
 [root@master ~]# vim /etc/kubernetes/controller-manager 该文件不用修改
[root@master ~]# vim /etc/kubernetes/scheduler
  7 KUBE_SCHEDULER_ARGS="--address=0.0.0.0"

[root@master ~]# vim /etc/sysconfig/flanneld
  4 FLANNEL_ETCD_ENDPOINTS="http://192.168.199.6:2379"
  8 FLANNEL_ETCD_PREFIX="/k8s/network"
 11 FLANNEL_OPTIONS="--iface=ens32"

[root@master ~]# systemctl restart flanneld
   [root@master ~]# etcdctl set /k8s/network/config '{"network":"10.255.0.0/16"}'
   {"network":"10.255.0.0/16"}
   [root@master ~]# etcdctl get /k8s/network/config
   {"network":"10.255.0.0/16"}
[root@master ~]# systemctl restart kube-apiserver kube-controller-manager kube-scheduler.service
[root@master ~]# systemctl status kube-apiserver kube-controller-manager kube-scheduler.service
[root@master ~]# systemctl enable kube-apiserver kube-controller-manager kube-scheduler
[root@master ~]# systemctl enable flanneld

node1

[root@node1 ~]# vim /etc/sysconfig/flanneld
  4 FLANNEL_ETCD_ENDPOINTS="http://192.168.199.6:2379"
  8 FLANNEL_ETCD_PREFIX="/k8s/network"
 11 FLANNEL_OPTIONS="--iface=ens33"
[root@node1 ~]# ps -aux|grep flanneld
root      10467  0.2  1.7 375996 31932 ?        Ssl  20:33   0:00 /usr/bin/flanneld -etcd-endpoints=http://192.168.199.6:2379 -etcd-prefix=/k8s/network --iface=ens33
root      10615  0.0  0.0 112676   984 pts/1    S+   20:35   0:00 grep --color=auto flanneld
[root@node1 ~]#
[root@node1 ~]# vim /etc/kubernetes/config
 22 KUBE_MASTER="--master=http://192.168.199.6:8080"

[root@node1 ~]# vim /etc/kubernetes/kubelet
   5 KUBELET_ADDRESS="--address=0.0.0.0"
 11 KUBELET_HOSTNAME="--hostname-override=node1"
 14 KUBELET_API_SERVER="--api-servers=http://192.168.199.6:8080"
[root@node1 ~]# systemctl restart flanneld kube-proxy.service kubelet docker
[root@node1 ~]# systemctl enable flanneld kube-proxy.service kubelet docker
[root@node1 ~]# systemctl status flanneld kube-proxy.service kubelet docker

[root@node1 ~]# ifconfig

flannel0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1472
        inet 10.255.4.0  netmask 255.255.0.0  destination 10.255.4.0
        inet6 fe80::d5dd:8c9b:48b6:5cb5  prefixlen 64  scopeid 0x20<link>
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 500  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3  bytes 144 (144.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

node2:

node2的配置和node1的一样,所以只需要把node1的配置文件复制过去即可。
[root@node1 ~]#scp /etc/sysconfig/flanneld 192.168.199.8:/etc/sysconfig/
[root@node2 ~]# vim /etc/sysconfig/flanneld
# Flanneld configuration options  
# etcd url location.  Point this to the server where etcd runs
FLANNEL_ETCD_ENDPOINTS="http://192.168.199.6:2379"
# etcd config key.  This is the configuration key that flannel queries
# For address range assignment
FLANNEL_ETCD_PREFIX="/k8s/network"
# Any additional options that you want to pass
FLANNEL_OPTIONS="--iface=ens33"    自己本地的网卡,若网卡不是ens33的话自己修改一下
[root@node1 ~]#scp /etc/kubernetes/config 192.168.199.8:/etc/kubernetes/
[root@node1 ~]#scp /etc/kubernetes/proxy 192.168.199.8:/etc/kubernetes/
[root@node1 ~]#scp /etc/kubernetes/kubelet  192.168.199.8:/etc/kubernetes/
[root@node2 ~]# vim /etc/kubernetes/kubelet
 11 KUBELET_HOSTNAME="--hostname-override=node2"   修改为自己的主机名
[root@node2 ~]#systemctl restart flanneld kube-proxy kubelet docker     
[root@node2 ~]#systemctl enable flanneld kube-proxy kubelet docker
[root@node2 ~]#systemctl status flanneld kube-proxy kubelet docker
完成之后再master上查看kubernetes集群的状态,这样集群就做好了。

在主上查看集群状态:

[root@master log]# kubectl get nodes
NAME      STATUS    AGE
node1     Ready     7m
node2     Ready     1m

kubernetes集群搭建的更多相关文章

  1. Kubernetes集群搭建之企业级环境中基于Harbor搭建自己的私有仓库

    搭建背景 企业环境中使用Docker环境,一般出于安全考虑,业务使用的镜像一般不会从第三方公共仓库下载.那么就要引出今天的主题 企业级环境中基于Harbor搭建自己的安全认证仓库 介绍 名称:Harb ...

  2. kubernetes集群搭建(2):docker私有仓库

    kubernetes集群搭建(1):环境准备 中各节点已经安装好了docker,请确认docker已启动并正常运行 1.通过命令启动私库 docker run -d -p 5000:5000 --pr ...

  3. Centos 7 kubernetes集群搭建

    一.环境准备 Kubernetes支持在物理服务器或虚拟机中运行,本次使用虚拟机准备测试环境,硬件配置信息如表所示: IP地址 节点角色 CPU Memory Hostname 磁盘 192.168. ...

  4. Kubernetes集群搭建(详细)

    kubernetes集群搭建(kubeadm方式) kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具.这个工具能通过两条指令完成一个kubernetes集群的部署: # 创 ...

  5. Kubernetes集群搭建过程中遇到的问题

    1. 创建Nginx Pod过程中报如下错误: #kubectlcreate -f nginx-pod.yaml Error from server: error when creating &quo ...

  6. Kubernetes集群搭建之系统初始化配置篇

    Kubernetes的几种部署方式 1. minikube Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernetes或日常开发的用户使用.不能用于生产环境 ...

  7. Kubernetes集群搭建 ver1.20.5

    目录 部署方式 1. 基础环境准备 1.1 基础初始化 1.2 安装docker 2. 部署harbor及haproxy高可用反向代理 2.1 镜像加速配置 2.2 高可用master可配置 3. 初 ...

  8. [云原生]Kubernetes - 集群搭建(第2章)

    目录 一.前置知识点 二.kubeadm部署方式介绍 三.安装要求 四.最终目标 五.准备环境 六.环境初始化 6.1 设置系统主机名以及Hosts文件的相互解析 6.2 安装依赖文件(所有节点) 6 ...

  9. Docker 与 K8S学习笔记(二十三)—— Kubernetes集群搭建

    小伙伴们,好久不见,这几个月实在太忙,所以一直没有更新,今天刚好有空,咱们继续k8s的学习,由于我们后面需要深入学习Pod的调度,所以我们原先使用MiniKube搭建的实验环境就不能满足我们的需求了, ...

  10. Kubernetes集群搭建之Master配置篇

    本次系列使用的所需部署包版本都使用的目前最新的或最新稳定版,安装包地址请到公众号内回复[K8s实战]获取 今天终于到正题了~~ 生成kubernets证书与私钥 1. 制作kubernetes ca证 ...

随机推荐

  1. 3.Shell的基本功能

    3.Shell的基本功能Bash是Bourne-Again Shell的缩写.Bourne Shell的内部命令在Bash中同样适用.3.1 Shell语法3.1.1 Shell操作shell读取和执 ...

  2. MVC4中去掉浏览器生成的无关代码方法

    通过增加Web.Config配置,如: <add key="vs:EnableBrowserLink" value="false"/>可以去掉MVC ...

  3. 无障碍开发(六)之ARIA在HTML中的使用规则

    ARIA使用规则一 如果你使用的元素( HTML5 )具有语义化,应该使用这些元素,而不应该重新定义一个添加ARIA的角色.状态或属性的元素. 浏览器的语义化标签已经默认隐含ARIA语义,像nav,a ...

  4. C++ const关键字以及static关键字

    const可以用来修饰类中的成员函数以及成员变量以及类的对象 1.const修饰成员函数: 该函数是只读函数,不允许修改任何成员变量,但是可以使用类中的任何成员变量: 不允许修改任何非static的类 ...

  5. python与pip

    python , pip 相关命令汇总 1) 在python3 下升级pip3 pip3 install --upgrade pip

  6. element ui input框不能输入的问题(实时学习)

    解决: 在input的上面添加数据v-model 既可以 1.菜单中api (2018年8月14号) :default-active  默认根据当前路由选中菜单,值需要和  el-submenu 的属 ...

  7. java-Freemarker-模板引擎学习

    博客:Java模板引擎性能对比  Thymeleaf性能偏低. 博客:Java模板引擎 FreeMarker   综合性的介绍,内容有点粗糙. 博客:JavaEE进阶——FreeMarker模板引擎 ...

  8. shutdown immediate 持久无法关闭数据库之解决方案

    问题引出:测试环境,进行oralce的shutdown immediate,等待时间很长,长的无法等待 ORACLE shutdown 过程: 1.shutdown normal(正常关闭方式):阻止 ...

  9. SAP选择屏幕下拉框实现

    DATA:vid TYPE vrm_id , "屏幕字段(可以是单个的I/O空间或者是Table Control中的一个单元格) list TYPE vrm_values, value LI ...

  10. PAT乙级1015

    题目链接 https://pintia.cn/problem-sets/994805260223102976/problems/994805307551629312 题解 思路比较简单,核心就是定义一 ...