kubernetes集群安装部署

部署环境说明:

1、CENTOS 7.4

2、Docker version 17.05.0

3、etcd Version: 3.3.8

4、flannel-v0.10.0

node节点上运行:

Kubelet

kube-proxy

Docker

flannel

MASTER节点上运行:

Etcd

flannel

kube-apiserver

kube-controller-manager

kube-scheduler


IP    Address


Role


CPU


Memory


192.168.1.10


K8s-Master1


2C


2G


192.168.1.20


K8s-node1


2C


2G


192.168.1.30


K8s-node2


2C


2G

修改各主机的hosts文件:


1、安装操作系统,选择最小化安装,安装完成后yum相关包如下:

yum -y install wget ntpdate bind-utils iptables-services

关闭firewall

# systemctl stop firewalld.service #停止firewall

# systemctl disable firewalld.service #禁止firewall开机启动

# systemctl start iptables.service #重启防火墙

# systemctl enable iptables.service #设置防火墙开机启动

#iptables -A INPUT -p tcp --dport 4001 -m state --state new -j ACCEPT

#iptables -A INPUT -p tcp --dport 2379 -m state --state new -j ACCEPT

#iptables -A INPUT -p tcp --dport 2380 -m state --state new -j ACCEPT

关闭selinux

#setenforce 0

[[email protected] ~]# sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config

2、安装etcd 

git地址:https://github.com/coreos/etcd/releases/

etcd中文文档:http://etcd.doczh.cn/documentation/

下载安装包:https://github.com/coreos/etcd/releases/download/v3.3.8/etcd-v3.3.8-linux-amd64.tar.gz

#tar -zxvf etcd-v3.3.8-linux-amd64.tar.gz

#ln -s etcd-v3.3.8-linux-amd64 etcd

#cd etcd

#cp etcd* /bin/

#etcd --version #确认是否可以使用

#mkdir /etc/etcd # 创建etcd配置文件目录

编辑etcd配置文件:vim /etc/etcd/etcd.conf修改下面的内容,nodes节点上按照IP地址进行相应修改,

Node2节点,相应的修改node3节点

检查集群健康状态:etcdctl –endpoints http://192.168.1.10:2379 cluster-health

检查etcd集群的节点情况以及查看那台是leader节点

Etcdctl –endpoints http://192.168.1.10:2379 member list

3、安装kubernetes    yum install kubernetes     (master、nodes都需要安装)

安装完成后可以修改配置文件:

配置文件在/etc/kubernetes目录下,MASTER上需要修改apiserver  config两个配置文件,如果多个集群还需要修改controller-manager:

Config配置中可以定义日志以及是否有特权访问主机上的硬件 --allow-privileged 主要设置KUBE_MASTER 以及KUBE_ETCD_SERVERS

KUBE_LOGTOSTDERR定义将错误日志记录到stderr或者在文件中记录

KUBE_LOG_LEVEL定义日志级别

KUBE_ALLOW_PRIV是否允许运行特权容器。

apiserver配置文件如下,其中KUBE_API_ARGS项,可配置安全证书,没有可忽略

apiserver中配置KUBE_API_ADDRESS、KUBE_API_PORT、KUBE_SERVICE_ADDRESSES

在node节点上主要配置kubelet配置文件 KUBELET_ADDRESS、KUBELET_PORT、KU证忽略书BELET_HOSTNAME、KUBELET_API_SERVER

5、安装、配置flannel  下载地址 https://github.com/coreos/flannel/releases/download/v0.10.0/flannel-v0.10.0-linux-amd64.tar.gz

下载解压后主要有flanneld、mk-docker-opts.sh这两个文件,其中flanneld为主要的执行文件,sh脚本用于生成Docker启动参数。

需要将flanneld拷贝到/usr/bin 目录下,启动时调用。

所有服务器上配置vim /usr/lib/systemd/system/flanneld.service

所有服务器编辑配置文件/etc/sysconfig/flanneld,并且设置etcd的地址。

在etcd中添加一条网络配置记录,这个配置将用于flanneld分配给每个docker的虚拟IP地址段,根据需要修改DOCKER的网络地址段。

etcdctl set /coreos.com/network/config '{ "Network": "10.1.0.0/16" }'

注意:flanneld将覆盖docker0网桥,如果docker服务已经启动,需要停止docker服务。

启动flanneld服务

systemctl restart flannel

设置docker0网桥的ip地址

source /run/flannel/subnet.env

ifconfig docker0 ${FLANNEL_SUBNET}

完成后确认网络接口docker0的IP地址属于flannel0的子网

[[email protected] ~]# ip a

6、启动kubernetes\etcd\flannel\docker

master节点上启动 etcd(也可以单独部署) flannel  systemctl start kube-apiserver 、kube-controller-manager、kube-scheduler

也可以写成脚本来启动:

for master in etcd flanneld kube-apiserver kube-controller-manager kube-scheduler; do systemctl restart $master; done

node节点上启动 systemctl start flannel kube-proxt 、 systemctl start kubelet、 systemctl start docker

for node in etcd flanneld kube-proxy kubelet docker;do systemctl restart $node;done

7、验证kubernetes集群是否正常

kubectl get nodes  获取所有节点信息

       

[[email protected] kubernetes]# kubectl cluster-info

kubectl describe node d8s-node1  获取详细的节点信息,包括该节点的系统配置、CPU、内存、可以创建的pods数量

    kubectl get namespace

原文地址:http://blog.51cto.com/333324/2140091

时间: 2024-11-05 21:36:31

kubernetes集群安装部署的相关文章

kubernetes-1.0.3集群安装部署

一.节点规划 Role Ip Host master 192.168.1.151 docker1 minion 192.168.1.154 docker2 minion 192.168.2.2 docker3 minion 192.168.1.6 docker4 二.安装部署 1.各节点操作系统为centos7.0.内核版本为 Linux docker3 3.10.0-229.el7.x86_64 #1 SMP Fri Mar 6 11:36:42 UTC 2015 x86_64 x86_64 

在Kubernetes集群上部署和管理JFrog Artifactory

JFrog Artifactory是一个artifacts仓库管理平台,它支持所有的主流打包格式.构建工具和持续集成(CI)服务器.它将所有二进制内容保存在一个单一位置并提供一个接口,这使得用户在整个应用程序开发和交付过程中,能更易于上传.查找和使用二进制文件. 在本文中我们将介绍如何使用Rancher在Kubernetes集群上部署和管理JFrog Artifactory.在看完本文后,你将会系统地了解JFrog Artifactory OSS的安装设置,并且能够按照同样的步骤在任何Kuber

kubernetes集群安装Jenkins实现cicd

一.安装Jenkins 1. 安装存储服务器 找一台服务器搭建一台nfs服务器<<详见Ubuntu16.04 安装nfs>> 系统:Ubuntu 16.04 IP:172.18.1.13 apt install nfs-common nfs-kernel-server -y #配置挂载信息 cat /etc/exports /data/k8s *(rw,sync,no_root_squash) #给目录添加权限 chmod -R 777 /data/k8s #启动 /etc/ini

在 Kubernetes 集群快速部署 KubeSphere 容器平台

KubeSphere 不仅支持部署在 Linux 之上,还支持在已有 Kubernetes 集群之上部署 KubeSphere,自动纳管 Kubernetes 集群的已有资源与容器. 前提条件 Kubernetes 版本: 1.13.0 ≤ K8s version < 1.16: Helm,版本 >= 2.10.0(不支持 helm 2.16.0 #6894),且已安装了 Tiller,参考 如何安装与配置 Helm: 集群的可用 CPU > 1 C,可用内存 > 2 G: 集群已

Mysql上的RAC:Percona XtraDB Cluster负载均衡集群安装部署手册

 Percona XtraDB Cluster安装部署手册 引言 编写目的 编写此文档,供PerconaXtraDB Cluster部署时使用. 预期读者 系统维护人员及实施人员. 编制依据及参考资料 目标 通过阅读该手册,让读者明确PerconaXtraDB Cluster的安装.配置和维护情况,为后续数据库运维工作提供指导. 应用部署方案 环境准备 服务器列表 序号 IP 用途 HOSTNAME 操作系统 1 192.168.0.7 Percona XtraDB Cluster RedHat

ElasticSearch2.2 集群安装部署

一.ElasticSearch 集群安装部署 环境准备 ubuntu虚拟机2台 ip:192.168.1.104 192.168.1.106 jdk:最低要求1.7,本机jdk版本1.7_67 安装 a.安装jdk(这里不赘述) b.从官网下载ES版本 地址https://www.elastic.co/downloads/elasticsearch c.解压ES到本地 d.进入config目录下,用编辑器打开elasticsearch.yml文件 1.cluster.name: ppscore-

mesos 集群安装部署规划、准备(1)

一:简介 Mesos诞生于UC Berkeley的一个研究项目,现已成为Apache Incubator中的项目.Mesos计算框架一个集群管理器,提供了有效的.跨分布式应用或框架的资源隔离和共享,可以运行Hadoop.MPI.Hypertable.Spark.使用ZooKeeper实现容错复制,使用Linux Containers来隔离任务,支持多种资源计划分配. 1: 总体架构 Apache Mesos由四个组件组成,分别是Mesos-master,mesos-slave,framework

mesos 集群安装部署zookeeper(2)

三:集群安装配置 ############################################################## 配置zookeeper集群    (172.16.7.12~13 执行) ############################################################### 1:部署环境介绍: 服务器IP地址主机名安装服务 172.16.7.12ctn-7-12.ptmind.com zookeeper   myid=1 17

mesos 集群安装部署mesos-master(3)

############################################################### Mesos 集群master配置 ############################################################### 1:部署环境介绍: 服务器IP地址主机名安装服务 172.16.7.11ctn-7-11.ptmind.com mesos-master 172.16.7.12ctn-7-12.ptmind.com mesos