Kubernetes安装部署演示介绍-(一)

简介: 序 这是差不多2年前我整理的一篇纯手工搭建Kubernetes的文档,里边涉及的软件版本相对偏低一些,但对一些初学者来说应该依然具有一定的借鉴意义。 环境介绍: OS:Linux redhat721 3.

这是差不多2年前我整理的一篇纯手工搭建Kubernetes的文档,里边涉及的软件版本相对偏低一些,但对一些初学者来说应该依然具有一定的借鉴意义。

环境介绍

OS:Linux redhat721 3.10.0-327.el7.x86_64


K8S测试集群共2台主机,1台Master和1台Node, Master IP:192.168.80.137

组件 版本 部署方式 安装目录或访问入口
docker 1.10.3 rpm /var/lib/docker
etcd 2.3.6 tar /root/etcd-v2.3.6-linux-amd64
flannel 0.5.5 tar /root/flannel-0.5.5
kubernetes 1.2.4 tar /root/kubernetes
skydns 2015-10-13 容器 固定ip:192.168.3.254
kube2sky 1.14 容器 和skydns同pod
etcd 2.2.2 容器 和skydns同pod
exechealthz 1.0 容器 和skydns同pod
dashboard 1.0.1 容器 http://192.168.80.137:8080/ui
nginx 容器
cAdvisor 容器 kubelet自动启动

http://192.168.80.137:4194

heapster 1.0.2 容器
influxDB 0.5 容器
grafana 2.6.0-2 容器 http://192.168.80.137:8080/api/v1/proxy/namespaces/

kube-system/services/monitoring-grafana/

Node IP:192.168.80.139

组件 版本 部署方式 安装目录或访问入口
docker 1.10.3 rpm /var/lib/docker
flannel 0.5.5 tar /root/flannel-0.5.5
kubernetes 1.2.4 tar /root/kubernetes
cAdvisor 容器 kubelet自动启动

http://192.168.80.139:4194

一、安装docker环境

1、安装

本次安装的是docker1.10.3,建议安装最新的docker环境。

使用的安装包为Redhat7.x准备所有环境依赖的rpm集合包,包内的rpm文件如下面rpm命令所涉。

将所有文件上传主机,使用下面命令进行安装:

————————

rpm -Uvh ./policycoreutils-2.2.5-20.el7.x86_64.rpm

rpm -Uvh ./audit-libs-python-2.4.1-5.el7.x86_64.rpm

rpm -Uvh ./checkpolicy-2.1.12-6.el7.x86_64.rpm

rpm -Uvh ./libcgroup-0.41-8.el7.x86_64.rpm

rpm -Uvh ./libsemanage-2.1.10-18.el7.x86_64.rpm

rpm -Uvh ./libsemanage-python-2.1.10-18.el7.x86_64.rpm

rpm -Uvh ./python-IPy-0.75-6.el7.noarch.rpm

rpm -Uvh ./setools-libs-3.3.7-46.el7.x86_64.rpm

rpm -Uvh ./policycoreutils-python-2.2.5-20.el7.x86_64.rpm

rpm -Uvh ./docker-engine-selinux-1.10.3-1.el7.centos.noarch.rpm

rpm -Uvh –nodeps –force ./device-mapper-libs-1.02.107-5.el7.x86_64.rpm ./device-mapper-1.02.107-5.el7.x86_64.rpm

rpm -Uvh –nodeps –force ./systemd-219-19.el7.x86_64.rpm ./systemd-libs-219-19.el7.x86_64.rpm ./kmod-20-5.el7.x86_64.rpm ./dracut-033-359.el7.x86_64.rpm ./initscripts-9.49.30-1.el7.x86_64.rpm ./libgudev1-219-19.el7.x86_64.rpm ./systemd-sysv-219-19.el7.x86_64.rpm ./dracut-network-033-359.el7.x86_64.rpm ./dracut-config-rescue-033-359.el7.x86_64.rpm

rpm -Uvh ./docker-engine-1.10.3-1.el7.centos.x86_64.rpm

————————-

2、启动docker服务

启动docker服务命令:sudo service docker start

将docker加入随主机自启动列表:sudo chkconfig docker on

3、验证docker环境

执行命令:docker version,显示如下信息,则docker环境正确安装:

二、安装etcd服务

1、安装

本次安装的是etcd2.3.6。

将etcd-v2.3.6-linux-amd64.tar.gz上传主机,并解压。

tar -xzvf etcd-v2.3.6-linux-amd64.tar.gz

2、验证

export PATH=$PATH:/root/etcd-v2.3.6-linux-amd64

etcd -version

3、启动etcd服务

编辑shell脚本startEtcd.sh,内容如下:

——————————-

#!/bin/sh

export PATH=$PATH:/root/etcd-v2.3.6-linux-amd64

export ETCD_OPTS=”–listen-client-urls http://0.0.0.0:4001 –advertise-client-urls http://0.0.0.0:4001 –data-dir /var/lib/etcd/default.etcd”

nohup /root/etcd-v2.3.6-linux-amd64/etcd $ETCD_OPTS &

——————————-

启动命令:./startEtcd.sh

三、安装flannel虚拟网络环境

1、安装

本次安装的是flannel0.5.5。

将flannel-0.5.5-linux-amd64.tar.gz上传主机,并解压。

tar -zxvf flannel-0.5.5-linux-amd64.tar

2、在etcd中预注册flannel要使用虚拟地址段

etcdctl mk /coreos.com/network/config ‘{ “Network”: “172.19.0.0/16” }’

3、启动flannel

编辑shell脚本startFlannel.sh,内容如下:

——————–

#!/bin/sh

nohup /root/flannel-0.5.5/flanneld –etcd-endpoints=http://127.0.0.1:4001 &

———————

启动命令:./startFlanneld.sh

4、etcd中验证flannel地址分配

etcdctl ls /coreos.com/network/subnets

etcdctl get /coreos.com/network/subnets/172.19.3.0-24

这说明本地flannel使用的172.19.3.0网段地址。

5、生成docker相关参数,${FLANNEL_SUBNET}

./mk-docker-opts.sh

cat /run/flannel/subnet.env

6、给docker0虚拟网卡添加参数,重启

//ifconfig docker0 172.19.3.1/24

ifconfig docker0 ${FLANNEL_SUBNET}

ifconfig docker0 down

ifconfig docker0 up

7、重启docker服务

service docker stop

service docker start

8、验证

Ifconfig命令

Docker网卡的地址不再是172.17网段的地址,而是172.19.3地址(这个每次获取都会变)。

这几个前置环境部署好后,接下来将部署K8S环境。

本文转自kubernetes中文社区-Kubernetes安装部署演示介绍-(一)

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
1月前
|
Kubernetes 搜索推荐 网络协议
使用 kubeadm 部署 Kubernetes 集群(三)kubeadm 初始化 k8s 证书过期解决方案
使用 kubeadm 部署 Kubernetes 集群(三)kubeadm 初始化 k8s 证书过期解决方案
44 8
|
10天前
|
Kubernetes 应用服务中间件 nginx
K8S二进制部署详解,一文教会你部署高可用K8S集群(二)
K8S二进制部署详解,一文教会你部署高可用K8S集群(二)
|
10天前
|
Kubernetes 网络安全 数据安全/隐私保护
K8S二进制部署详解,一文教会你部署高可用K8S集群(一)
K8S二进制部署详解,一文教会你部署高可用K8S集群(一)
|
10天前
|
SQL Kubernetes 调度
【一文看懂】部署Kubernetes模式的Havenask集群
本次分享内容为havenask的kubernetes模式部署,由下面2个部分组成(部署Kubernetes模式Havenask集群、 Kubernetes模式相关问题排查),希望可以帮助大家更好了解和使用Havenask。
23 1
|
11天前
|
Kubernetes 网络协议 Python
一文教会你,如何通过kubeadm,在生产环境部署K8S高可用集群(二)
一文教会你,如何通过kubeadm,在生产环境部署K8S高可用集群(二)
|
11天前
|
Kubernetes 应用服务中间件 开发工具
一文教会你,如何通过kubeadm,在生产环境部署K8S高可用集群(一)
一文教会你,如何通过kubeadm,在生产环境部署K8S高可用集群(一)
|
13天前
|
存储 Kubernetes 监控
|
15天前
|
存储 Kubernetes Docker
使用 kubeadm 快速部署一个 Kubernetes 集群
使用 kubeadm 快速部署一个 Kubernetes 集群
|
15天前
|
Kubernetes 负载均衡 应用服务中间件
部署一套完整的Kubernetes高可用集群(二进制,最新版v1.18)下
部署一套完整的Kubernetes高可用集群(二进制,最新版v1.18)下
部署一套完整的Kubernetes高可用集群(二进制,最新版v1.18)下
|
15天前
|
Kubernetes 安全 前端开发
部署一套完整的Kubernetes高可用集群(二进制,最新版v1.18)上
部署一套完整的Kubernetes高可用集群(二进制,最新版v1.18)上