Centos7.3Kubernetes集群安装部署

来源:互联网 发布:电纸书 知乎 编辑:程序博客网 时间:2024/05/16 23:57
•Kubernetes集群组件:
  - etcd 一个高可用的K/V键值对存储和服务发现系统
  - flannel 实现夸主机的容器网络的通信
  - kube-apiserver 提供kubernetes集群的API调用
  - kube-controller-manager 确保集群服务
  - kube-scheduler 调度容器,分配到Node
  - kubelet 在Node节点上按照配置文件中定义的容器规格启动容器
  - kube-proxy 提供网络代理服务
集群架构图
一、环境准备目前各相关组件版本如下:kubernetes-1.5.2docker-1.12.6flannel-0.7.0etcd-3.1.3kubernetes环境角色如下:192.168.199.190(4核,4g,50g硬盘) kubernetes master和etcd server192.168.199.191(4核,4g,50g硬盘) kubernetes node1192.168.199.192(4核,4g,50g硬盘) kubernetes node2192.168.199.193(4核,4g,50g硬盘) kubernetes node2192.168.199.194(4核,4g,50g硬盘) kubernetes node2二、安装及配置各组件用途kube master主要以下组件:1、kube-apiserverk8s的管理接口2、kube-scheduerk8s调度器,容器的启动、迁移、扩容缩减时候,选择哪个node,就看它了。3、kube-controller-managerk8s对node的控制行为,比如怎么去调用node启动一个容器。kube node主要以下组件:1、kubelet负责node的管理,基本所有操作都靠它。2、kube-proxy每个node里的container都在一个私有网络中,kube-proxy的作用就是做一个反向代理,让访问者访问这个node的时候,可以转发到内部对应的container。etcd1、作为kubernetes的数据库,存储了k8s自身的信息、以及各种业务容器信息等。2、存储flannel网络配置信息,供各节点协调。安装master节点:yum install etcd -y    安装 etcd 节点yum install kubernetes-master -y安装 k8s master 节点编辑配置文件/etc/etcd/etcd.confETCD_NAME=defaultETCD_DATA_DIR="/var/lib/etcd/default.etcd"ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"ETCD_ADVERTISE_CLIENT_URLS="http://192.168.199.190:2379"启动服务systemctl enable etcdsystemctl start etcd编辑配置文件 /etc/kubernetes/apiserverKUBE_API_ADDRESS="--address=0.0.0.0"KUBE_ETCD_SERVERS="--etcd_servers=http://192.168.199.190:2379"KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"KUBE_ADMISSION_CONTROL="--admission_control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"KUBE_API_ARGS=""编辑配置文件/etc/kubernetes/controller-managerKUBE_CONTROLLER_MANAGER_ARGS="--node-monitor-grace-period=10s --pod-eviction-timeout=10s"编辑配置文件/etc/kubernetes/config KUBE_LOGTOSTDERR="--logtostderr=true"KUBE_LOG_LEVEL="--v=0"KUBE_ALLOW_PRIV="--allow_privileged=false"KUBE_MASTER="--master=http://192.168.199.190:8080"启动服务systemctl enable kube-apiserver kube-scheduler kube-controller-managersystemctl start kube-apiserver kube-scheduler kube-controller-manager安装k8s node 节点:(node1、node2、node3 、node4)yum install kubernetes-node flannel docker -y编辑配置文件/etc/kubernetes/config KUBE_LOGTOSTDERR="--logtostderr=true"KUBE_LOG_LEVEL="--v=0"KUBE_ALLOW_PRIV="--allow_privileged=false"KUBE_MASTER="--master=http://192.168.199.190:8080"编辑配置文件/etc/kubernetes/kubeletKUBELET_ADDRESS="--address=127.0.0.1"KUBELET_HOSTNAME="--hostname_override=192.168.199.191" #节点IPKUBELET_API_SERVER="--api_servers=http://192.168.199.190:8080"KUBELET_ARGS="--pod-infra-container-image=kubernetes/pause"启动服务systemctl enable kubelet kube-proxysystemctl start kubelet kube-proxyk8s node 节点配置 flannel初始化flannel的etcd配置etcdctl -C 192.168.199.190:2379 set /coreos.com/network/config '{ "Network": "10.1.0.0/16" }'编辑配置文件/etc/sysconfig/flanneld/etc/sysconfig/flanneldFLANNEL_ETCD_PREFIX="/coreos.com/network"systemctl enable flanneldsystemctl start flanneld
原创粉丝点击