用centos部署kubernetes----流程
2021-03-29 13:26
标签:连接 成员 主机名 接口 需要 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 配置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集群成员列表 配置 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 get /k8s/network/config 注:在启动flannel之前,需要在etcd中添加一条网络配置记录,这个配置将用于flannel分配给每个docker的虚拟IP地址段。用于配置在minion 上docker的IP地址。 配置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 [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 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 在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@node2 ~]# vim /etc/kubernetes/kubelet node1改为node2 [root@node2 ~]# systemctl restart flanneld masetr在重启一下服务 [root@master ~]# systemctl restart kube-apiserver kube-controller-manager kube-scheduler flanneld [root@master ~]# kubectl get node NAME STATUS AGE
上传一个镜像试试 用centos部署kubernetes----流程 标签:连接 成员 主机名 接口 需要 exist iss Fix nio 原文地址:https://www.cnblogs.com/meml/p/12606739.html说明:
1.5配置:
192.168.1.5 etcd
192.168.1.6 node1
192.168.1.7 node2
8e9e05c52164694d: name=etcd peerURLs=http://localhost:2380 clientURLs=http://192.168.1.5:2379 isLeader=true
[root@master ~]# etcdctl set /k8s/network/config ‘{"Network": "10.255.0.0/16"}‘
由于flannel将覆盖 docker0上的地址,所以flannel 服务要先于docker服务启动。如果 docker服务已经启动,则先停止docker 服务,然后启动lannel,再启动 docker1.6配置:
192.168.1.5 etcd
192.168.1.6 node1
192.168.1.7 node2
[root@node1 ~]# systemctl restart kube-proxy
[root@node1 ~]# systemctl restart docker1.7配置:
192.168.1.5 etcd
192.168.1.6 node1
192.168.1.7 node2
[root@node1 ~]# scp /etc/kubernetes/kubelet root@192.168.1.7:/etc/kubernetes/
[root@node2 ~]# systemctl restart kube-proxy
[root@node2 ~]# systemctl restart docker
[root@node2 ~]# systemctl restart kubelet测试:
node1 Ready 10s
node2 Ready 9s