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安装部署演示介绍-(一)

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
4天前
|
存储 Kubernetes 对象存储
部署DeepSeek但GPU不足,ACK One注册集群助力解决IDC GPU资源不足
借助阿里云ACK One注册集群,充分利用阿里云强大ACS GPU算力,实现DeepSeek推理模型高效部署。
|
9天前
|
存储 Kubernetes 测试技术
企业级LLM推理部署新范式:基于ACK的DeepSeek蒸馏模型生产环境落地指南
本教程演示如何在ACK中使用vLLM框架快速部署DeepSeek R1模型推理服务。
|
10天前
|
存储 人工智能 弹性计算
NVIDIA NIM on ACK:优化生成式AI模型的部署与管理
本文结合NVIDIA NIM和阿里云容器服务,提出了基于ACK的完整服务化管理方案,用于优化生成式AI模型的部署和管理。
|
4天前
|
人工智能 Kubernetes 异构计算
大道至简-基于ACK的Deepseek满血版分布式推理部署实战
本教程演示如何在ACK中多机分布式部署DeepSeek R1满血版。
|
4月前
|
Kubernetes 持续交付 Docker
利用 Docker 和 Kubernetes 实现微服务部署
【10月更文挑战第2天】利用 Docker 和 Kubernetes 实现微服务部署
|
2月前
|
存储 Kubernetes 容器
K8S部署nexus
该配置文件定义了Nexus 3的Kubernetes部署,包括PersistentVolumeClaim、Deployment和服务。PVC请求20Gi存储,使用NFS存储类。Deployment配置了一个Nexus 3容器,内存限制为6G,CPU为1000m,并挂载数据卷。Service类型为NodePort,通过30520端口对外提供服务。所有资源位于`nexus`命名空间中。
|
4月前
|
Prometheus Kubernetes 监控
k8s部署针对外部服务器的prometheus服务
通过上述步骤,您不仅成功地在Kubernetes集群内部署了Prometheus,还实现了对集群外服务器的有效监控。理解并实施网络配置是关键,确保监控数据的准确无误传输。随着监控需求的增长,您还可以进一步探索Prometheus生态中的其他组件,如Alertmanager、Grafana等,以构建完整的监控与报警体系。
305 62
|
4月前
|
Prometheus Kubernetes 监控
k8s部署针对外部服务器的prometheus服务
通过上述步骤,您不仅成功地在Kubernetes集群内部署了Prometheus,还实现了对集群外服务器的有效监控。理解并实施网络配置是关键,确保监控数据的准确无误传输。随着监控需求的增长,您还可以进一步探索Prometheus生态中的其他组件,如Alertmanager、Grafana等,以构建完整的监控与报警体系。
180 60
|
3月前
|
Kubernetes Cloud Native 微服务
云原生入门与实践:Kubernetes的简易部署
云原生技术正改变着现代应用的开发和部署方式。本文将引导你了解云原生的基础概念,并重点介绍如何使用Kubernetes进行容器编排。我们将通过一个简易的示例来展示如何快速启动一个Kubernetes集群,并在其上运行一个简单的应用。无论你是云原生新手还是希望扩展现有知识,本文都将为你提供实用的信息和启发性的见解。
|
3月前
|
存储 Kubernetes Devops
Kubernetes集群管理和服务部署实战
Kubernetes集群管理和服务部署实战
102 0