实战4节点Centos7.3 安装Kubernetes集群

Kubernetes集群安装部署

Kubernetes集群组件:

-Master节点

  - etcd 一个高可用的K/V键值对存储和服务发现系统

  - kube-apiserver 提供kubernetes集群的API调用

  - kube-controller-manager 确保集群服务

  - kube-scheduler 调度容器,分配到Node

-Minion节点

  - flannel 实现夸主机的容器网络的通信

  - kubelet 在Node节点上按照配置文件中定义的容器规格启动容器

  - kube-proxy 提供网络代理服务

集群示意图

  Kubernetes工作模式server-client,Kubenetes Master提供集中化管理Minions。

部署1台Kubernetes Master节点和3台Minion节点,

192.168.137.142 cmmaster

192.168.137.148 cmnode1

192.168.137.199 cmnode2

192.168.137.212 cmnode3

安装EPEL源,在所有节点上

# yum -y install epel-release

安装配置Kubernetes Master,在Master节点上

1.使用yum安装etcd和kubernetes-master

# yum -y install etcd kubernetes-master

2.编辑/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://localhost:2379"

3.编辑/etc/kubernetes/apiserver文件

KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"

KUBE_API_PORT="--port=8080"

KUBELET_PORT="--kubelet-port=10250"

KUBE_ETCD_SERVERS="--etcd-servers=http://127.0.0.1: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=""

4.启动etcd、kube-apiserver、kube-controller-manager、kube-scheduler等服务,并设置开机启动。

启动etcd、kube-apiserver、kube-controller-manager、kube-scheduler等服务,并设置开机启动。

for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler; do systemctl restart $SERVICES;systemctl enable $SERVICES;systemctl status $SERVICES ; done

# systemctl status  etcd.service

# systemctl status  kube-apiserver.service

# systemctl status  kube-controller-manager.service

# systemctl status  kube-scheduler.service

5.在etcd中定义flannel网络

[[email protected] ~]# etcdctl mk /atomic.io/network/config '{"Network":"172.17.0.0/16"}'

安装配置Kubernetes Node

如下操作在cmnode1、cmnode2、cmnode3上执行

1.安装flannel kubernetes-node

yum -y install flannel kubernetes-node

2.为flannel网络指定etcd服务,修改/etc/sysconfig/flanneld文件

FLANNEL_ETCD="http://192.168.137.142:2379"

FLANNEL_ETCD_KEY="/atomic.io/network"

3.修改/etc/kubernetes/config文件

KUBE_LOGTOSTDERR="--logtostderr=true"

KUBE_LOG_LEVEL="--v=0"

KUBE_ALLOW_PRIV="--allow-privileged=false"

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

4.按照如下内容修改对应node的配置文件/etc/kubernetes/kubelet

KUBELET_ADDRESS="--address=0.0.0.0"                                   #将127.0.0.1修改成0.0.0.0

KUBELET_PORT="--port=10250"

KUBELET_HOSTNAME="--hostname-override=192.168.137.148"             #修改成对应Node的IP

KUBELET_API_SERVER="--api-servers=http://192.168.137.142:8080"     #指定Master节点的API Server

KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure:latest"

KUBELET_ARGS=""

5.在所有Node节点上启动kube-proxy,kubelet,docker,flanneld等服务,并设置开机启动

# for SERVICES in kube-proxy kubelet docker flanneld;do systemctl restart $SERVICES;systemctl enable $SERVICES;systemctl status $SERVICES; done

?验证集群是否安装成功

在master上执行如下命令

[[email protected] ~]# kubectl get node

NAME              STATUS    AGE

192.168.137.147   Ready     7m

192.168.137.148   Ready     1m

192.168.137.199   Ready     7m

上述节点正常显示,状态为Ready,则说明集群搭建成功

原文地址:http://blog.51cto.com/andyliu/2060412

时间: 2024-10-06 16:52:50

实战4节点Centos7.3 安装Kubernetes集群的相关文章

Centos7上安装Kubernetes集群部署docker

一.安装前准备 1.操作系统详情 需要三台主机,都最小化安装 centos7.3,并update到最新 cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core)  角色主机名IP Master      master192.168.1.14 node1    slave-1192.168.1.15 node2slave-2192.168.1.16 2.在每台主机上关闭firewalld改用iptables 输入以下命令,关闭fire

CentOS 7.5 使用 yum 源安装 Kubernetes 集群(二)

一.安装方式介绍 1.yum 安装 目前CentOS官方已经把Kubernetes源放入到自己的默认 extras 仓库里面,使用 yum 安装,好处是简单,坏处也很明显,需要官方更新 yum 源才能获得最新版本的软件,而所有软件的依赖又不能自己指定,尤其是你的操作系统版本如果低的话,使用 yum 源安装的 Kubernetes 的版本也会受到限制,通常会低于官方很多版本,我安装的时候目前官方版本为1.12,而 yum 源中的版本为1.5.2. 2.二进制安装 使用二进制文件安装,好处是可以安装

Kubernetes(K8s) 安装(使用kubeadm安装Kubernetes集群)

概述: 这篇文章是为了介绍使用kubeadm安装Kubernetes集群(可以用于生产级别).使用了Centos 7系统. PS: 篇幅有点长,但是比较详细.比较全面 一.Centos7 配置说明 1.1   Firewalld(防火墙) CentOS Linux 7 默认开起来防火墙服务(firewalld),而Kubernetes的Master与工作Node之间会有大量的网络通信,安全的做法是在防火墙上配置Kbernetes各组件(api-server.kubelet等等)需要相互通信的端口

kubeadm安装kubernetes集群

一.环境准备 1.安装配置docker v1.11.0版本推荐使用docker v17.03,v1.11,v1.12,v1.13, 也可以使用,再高版本的docker可能无法正常使用. #移除以前安装的docker,并安装指定的版本 [[email protected] ~]# yum remove -y docker-ce docker-ce-selinux container-selinux [[email protected] ~]# rm -rf /var/lib/docker [[em

在CentOS7上部署 Kubernetes集群

yum -y install  etcd docker  flannel kubenetes 一般会遇到没有k8s源的问题,先 yum update -y 看是否有效,如果还是没用就创建yum 源,再安装 kubenetes 如下操作: 创建yum源 vi virt7-docker-common-release.repo 加入以下内容: [virt7-docker-common-release] name=virt7-docker-common-release baseurl=http://cb

CentOS上安装Kubernetes集群(二)安装Docker

采用docker作为容器运行(目前业界主流与共识) 1. 必要的一些系统工具 # yum install -y yum-utils device-mapper-persistent-data lvm2 2. 添加docker源 # yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 可以采用国内的镜像加速服务,参照kubernetes的官方文档,这里使用阿里的镜

CentOS上安装Kubernetes集群(四)使用Traefi暴露Kubernetes服务

k8s的集群大多数情况需要对外服务,而服务暴露的方式有很多,这里选取traefik来讲解,其它就暂时不详细介绍,包括Istio,代后续更新后再补充上来.一句话,来不及解释,赶紧上车. Traefkik简介 Traefik是开源边缘路由器,类似 nginx.apache 那样的反向代理服务器.网关,代表系统接收请求,并找出负责处理这些请求的组件.Traefik自动发现适合您服务的配置,同时热更新支持多种负载均衡算法断路器,重试提供监控.管理 UI 界面用 go 语言开发,天然的拥抱 k8s Tra

centos7 安装kubernetes集群

https://kubernetes.io/docs/getting-started-guides/centos/centos_manual_config/

CentOS7.5 使用 kubeadm 安装配置 Kubernetes 集群(四)

在之前的文章,我们已经演示了 yum 和二进制方式的安装方式,本文我们将用官方推荐的 kubeadm 来进行安装部署. kubeadm 是 Kubernetes 官方提供的用于快速安装Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,kubeadm会对集群配置方面的一些实践做调整,通过实验kubeadm可以学习到Kubernetes官方在集群配置上一些新的最佳实践. 一.环境准备 1.软件版本 软件 版本 kubernetes v1.12.2 CentOS 7.