标签:连接 成员 主机名 接口 需要 exist iss Fix nio
192.168.1.5:master、etcd
192.168.1.6:node1
192.168.1.7:node2
配置yum源:
每个节点都准备好这个k8s安装包,不然网上下载太慢。
[root@master yum.repos.d]# mkdir yum && mv * yum
[root@master yum.repos.d]# vim cdrom.repo
把这个yum源scp到所有的node。
[root@master yum.repos.d]# scp cdrom.repo root@192.168.1.6:/etc/yum.repos.d/
[root@master yum.repos.d]# scp cdrom.repo root@192.168.1.7:/etc/yum.repos.d/
关闭防火墙:
[root@master ~]# systemctl stop firewalld && systemctl disable firewalld
安装服务:
[root@master ~]# yum install -y kubernetes etcd flannel ntp
配置hosts文件:
[root@master ~]# vim /etc/hosts
192.168.1.5 master
192.168.1.5 etcd
192.168.1.6 node1
192.168.1.7 node2
配置etcd:
[root@master ~]# vim /etc/etcd/etcd.conf
改:ETCD_NAME=default
为:ETCD_NAME="etcd"
etcd节点名称,如果 etcd集群只有一台 etcd,这一项可以注释丌用配置,默认名称为 default,这 个名字后面会用到。
改:ETCD_LISTEN_CLIENT_URLS="http://localhost:2379"
为:ETCD_LISTEN_CLIENT_URLS="http://localhost:2379,http://192.168.1.5:2379"
etcd对外服务监听地址,一般指定2379端口,如果为 0.0.0.0将会监听所有接口
改:ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379"
为:ETCD_ADVERTISE_CLIENT_URLS="http://192.168.1.5:2379"
[root@master ~]# systemctl restart etcd
[root@master ~]# netstat -antup | grep 2379 #看2379端口是否监听
[root@master ~]# etcdctl member list #检查etcd集群成员列表
8e9e05c52164694d: name=etcd peerURLs=http://localhost:2380 clientURLs=http://192.168.1.5:2379 isLeader=true
配置 kubernetes:
[root@master ~]# vim /etc/kubernetes/config
改:KUBE_MASTER="--master=http://127.0.0.1:8080"
为:KUBE_MASTER="--master=http://192.168.1.5:8080"
配置apiserver :
[root@master ~]# vim /etc/kubernetes/apiserver
改:KUBE_API_ADDRESS="--insecure-bind-address=127.0.0.1"
为:KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"
监听的接口,如果配置为 127.0.0.1则只监听localhost,配置为 0.0.0.0会监听所有接口,这里配置为 0.0.0.0。
改: KUBE_ETCD_SERVERS="--etcd-servers=http://127.0.0.1:2379"
为:KUBE_ETCD_SERVERS="--etcd-servers=http://192.168.1.5:2379"
etcd服务地址,前面 已经吭劢了 etcd服务
改: KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExist s,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota"
为:KUBE_ADMISSION_CONTROL="--admission-control=AlwaysAdmit"
不做限制,允讲所 有节点可以访问 apiserver ,对所有请求开绿灯。
配置kube-scheduler:
[root@master ~]# vim /etc/kubernetes/scheduler
改:KUBE_SCHEDULER_ARGS=""
为:UBE_SCHEDULER_ARGS="0.0.0.0"
scheduler 监听默认是127.0.0.1
设置 etcd网络 :
创建一个目录/ k8s/network 用于存储 flannel 网络信息 :
[root@master ~]# etcdctl mkdir /k8s/network
给/k8s/network/config 赋一个字符串的值 ‘{"Network": "10.255.0.0/16"}‘ :
[root@master ~]# etcdctl set /k8s/network/config ‘{"Network": "10.255.0.0/16"}‘
[root@master ~]# etcdctl get /k8s/network/config
注:在启动flannel之前,需要在etcd中添加一条网络配置记录,这个配置将用于flannel分配给每个docker的虚拟IP地址段。用于配置在minion 上docker的IP地址。
由于flannel将覆盖 docker0上的地址,所以flannel 服务要先于docker服务启动。如果 docker服务已经启动,则先停止docker 服务,然后启动lannel,再启动 docker
配置flanneld :
[root@master ~]# vim /etc/sysconfig/flanneld
改:FLANNEL_ETCD_ENDPOINTS="http://127.0.0.1:2379"
为:FLANNEL_ETCD_ENDPOINTS="http://192.168.1.5:2379"
改:FLANNEL_ETCD_PREFIX="/atomic.io/network"
为:FLANNEL_ETCD_PREFIX="/k8s/network" #注其中/k8s/network 不上面 etcd中的 Network 对应
改:#FLANNEL_OPTIONS=""
为:FLANNEL_OPTIONS="--iface=ens33" #物理网卡名
[root@master ~]# systemctl restart flanneld
[root@master ~]# ifconfig flannel0
关闭防火墙:
[root@node1 ~]# systemctl stop firewalld && systemctl disable firewalld
安装服务:
[root@node1 ~]# yum install -y kubernetes etcd flannel ntp
配置 hosts:
[root@node1 ~]# vim /etc/hosts
192.168.1.5 master
192.168.1.5 etcd
192.168.1.6 node1
192.168.1.7 node2
[root@node1 ~]# vim /etc/sysconfig/flanneld
改:FLANNEL_ETCD_ENDPOINTS="http://127.0.0.1:2379"
为:FLANNEL_ETCD_ENDPOINTS="http://192.168.1.5:2379"
改:FLANNEL_ETCD_PREFIX="/atomic.io/network"
为:FLANNEL_ETCD_PREFIX="/k8s/network"
改: #FLANNEL_OPTIONS=""
为: FLANNEL_OPTIONS="--iface=ens33"
[root@node1 ~]# vim /etc/kubernetes/config
改:22 KUBE_MASTER="--master=http://127.0.0.1:8080"
为:22 KUBE_MASTER="--master=http://192.168.1.5:8080"
[root@node1 ~]# vim /etc/kubernetes/kubelet
改:5 KUBELET_ADDRESS="--address=127.0.0.1"
为: 5 KUBELET_ADDRESS="--address=0.0.0.0"
默认只监听127.0.0.1,要改成:0.0.0.0, 因为后期要使用 kubectl 进程连接到 kubelet 服务上,来查看 pod 及 pod中容器的状态。如果是 127 就无法进程连接 kubelet服务。
改:11 KUBELET_HOSTNAME="--hostname-override=127.0.0.1"
为:11 KUBELET_HOSTNAME="--hostname-override=node1"
minion的主机名,设置 成和本主机机名一样,便于识别。
改:14 KUBELET_API_SERVER="--api-servers=http://127.0.0.1:8080"
为:14 KUBELET_API_SERVER="--api-servers=http://192.168.1.5::8080"
批定 apiserver 的地址
[root@node1 ~]# systemctl restart flanneld
[root@node1 ~]# systemctl restart kube-proxy
[root@node1 ~]# systemctl restart docker
[root@node1 ~]# systemctl restart kubelet
[root@node1 ~]# systemctl status flanneld kube-proxy kubelet docker | grep running
关闭防火墙:
[root@node2 ~]# systemctl stop firewalld && systemctl disable firewalld
安装服务:
[root@node2 ~]# yum install -y kubernetes etcd flannel ntp
配置 hosts:
[root@node2 ~]# vim /etc/hosts
192.168.1.5 master
192.168.1.5 etcd
192.168.1.6 node1
192.168.1.7 node2
在node1节点上:
[root@node1 ~]# scp /etc/sysconfig/flanneld root@192.168.1.7:/etc/sysconfig/
[root@node1 ~]# scp /etc/kubernetes/config root@192.168.1.7:/etc/kubernetes/
[root@node1 ~]# scp /etc/kubernetes/kubelet root@192.168.1.7:/etc/kubernetes/
[root@node2 ~]# vim /etc/kubernetes/kubelet
node1改为node2
[root@node2 ~]# systemctl restart flanneld
[root@node2 ~]# systemctl restart kube-proxy
[root@node2 ~]# systemctl restart docker
[root@node2 ~]# systemctl restart kubelet
masetr在重启一下服务
[root@master ~]# systemctl restart kube-apiserver kube-controller-manager kube-scheduler flanneld
[root@master ~]# kubectl get node
NAME STATUS AGE
node1 Ready 10s
node2 Ready 9s
上传一个镜像试试
标签:连接 成员 主机名 接口 需要 exist iss Fix nio
原文地址:https://www.cnblogs.com/meml/p/12606739.html