Kubernetes平台的安装详解

1. 概述
Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。

在Kubernetes中,我们可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现、访问,而这些细节都不需要运维人员去进行复杂的手工配置和处理,本文章将介绍Kubernetes平台的安装过程。
1.1. 环境准备
Kubernetes安装在Ubuntu、CentOS这两个环境上较为稳定,本次安装将以Ubuntu环境为例(CentOS环境也类似),准备两台Ubuntu虚拟机或云服务器,版本为16.04即可。

2.安装Docker&Kubernetes
2.1. 安装Docker
2.1.1 添加Docker官方源
1)更新包索引:

apt-get update

2)下载docker官方源的公钥并添加到apt的公钥库中:

curl-fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -

3)添加docker官方源的仓库:

add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

4)执行完以上命令之后,在/etc/apt/sources.list文件中将添加如下内容

5)再次更新包索引:

apt-get update

2.1.1 安装Docker
这里以安装docker-ce-17.03.2版本为例:
1)执行:

apt-get install docker-ce=17.03.2~ce-0~ubuntu-xenial,安装Docker;

2)验证Docker安装结果:

dockerversion

3)查看docker后台服务运行的情况:

systemctl status docker

至此,Docker安装完成。
2.2. 安装Kubernetes
2.2.1 Kubernetes相关组件介绍
需要下载kubeadm、kubelet、kubectl等组件
1) kubeadm:作为安装工具来引导启动集群,kubeadm将kubernetes核心组件以容器化的方式安装和引导启动运行;

2) kubelet:Node组件中的

kubelet依旧以主机后端服务的形式运行kubernetes集群的所有节点上,是主节点与从节点交互的关键组件;
3) kubectl:是安装集群后的命令行工具,至少安装在master上,对集群进行管理。

2.2.2 添加Kubernetes的apt源(google官方源)
以下将直接添加google的官方源(如果你的服务器不能访问google官方源,请参考2.2.3)
1)添加kubernetes apt源的公钥文件:

curl-s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -

2)将官方源列表加入到本地源列表配置目录中:

vi /etc/apt/sources.list.d/kubernetes.list,在该文件中加入如下内容:

3)更新本地包缓存:apt-get update

2.2.3 添加Kubernetes的apt源(国内源)
1) apt-get update && apt-get install -y apt-transport-https

2) curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -

3) vi /etc/apt/sources.list.d/kubernetes.list,在该文件中加入:deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main

4)更新本地包缓存:

apt-get update

2.2.4 安装kubeadm、kubelet、kubectl工具
1) apt-get install -y kubelet kubeadm kubectl

2) apt-get install kubeadm=1.10.2-00 kubectl=1.10.2-00 kubelet=1.10.2-00

(安装指定版本)
3)

查看安装情况:
查看版本:kubeadm version
查看版本:kubectl version
查看运行状态:systemctl status kubelet,此时看到的状态,不是running的状态,是激活状态,处于定期的重启状态,这是由于kubelet所需要的配置还没有提供,只有在master节点执行kubeadm init或者在work node节点执行kubeadm join的时候,kubelet所需要的配置才能被满足,kubelet才会正常运行起来。
2.2.5 下载核心组件镜像
默认情况下kubeadm在安装引导集群时,会自动从网络上下载kubernetes的核心组件,比如:apiserver,scheduler,controller manager,kubeproxy等,但是默认是从k8s.gcr.io(google
容器镜像平台)上下载,国内无法连接。Master节点需要现在如下核心组件:

1)先从国内源(可以从dockerhub上查找)将以上核心组件下载到本地,例如:docker pull gcrxio/kube-apiserver-amd64:v1.14.1

2)重新打标签,例如:docker tag gcrxio/kube-apiserver-amd64:v1.14.1 k8s.gcr.io/kube-apiserver-amd64:v1.14.1

3)在Worker节点只需要下载pause和kube-proxy镜像即可。

2.2.6 初始化Master节点
1)执行kubeadm init命令初始化:kubeadm init --apiserver-advertise-address=172.16.154.177 --pod-network-cidr=192.168.16.0/20,

如下图:

2)设置kubectl访问控制平面,设置环境变量:export

KUBECONFIG=/etc/kubernetes/admin.conf

3)查看安装情况:kubectl get pods -n kube-system

以上除了dns,其他的组件都是running状态,dns要等到安装了网络插件之后才正常。
2.2.7 安装网络插件
Kubernetes的网络插件很多,这里以安装Weave为例:

1)安装Weave Net

kubectl apply -f https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d ‘\n‘)

2)创建weave.yaml文件,如下:

3)执行命令进行安装:Kubectl apply -f weave.yaml

4)验证安装结果:kubectl get pods -n kube-system

2.2.8 安装worker节点
1)按照前面的步骤,在worker节点上(比如是k8s2)安装docker环境

2)按照前面的步骤,在k8s2节点上安装kubeadm、kubelet

3)按照前面的步骤,在k8s2节点上下载pause和kube-proxy镜像

2.2.9 将worker节点加入集群
1)在k8s2节点上执行kubeadm join命令:kubeadm join

172.16.154.178:6443 --token ab7j9d.rxopqtvyv7qf6488 --discovery-token-ca-cert-hash

sha256:c0d784704724ea4be3b7bb31a61404aa05a591b596405699e7c36fe3a500bec9

自此,Kubernetes集群已经安装完成。
2.3. 安装Dashboard
2.3.1 下载dashboard镜像文件
1) docker pull gcrxio/kubernetes-dashboard-amd64:v1.10.1

2) docker tag gcrxio/kubernetes-dashboard-amd64:v1.10.1

k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1

2.3.2 安装dashboard
1)下载dashboard配置文件,执行如下命令:

curl-L https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml > kubernetes-dashboard.yaml
2)修改dashboard配置文件kubernetes-dashboard.yaml,并在此文件中的Service部分下添加

type: NodePort和nodePort: 31233,这里的31233端口可以根据实际情况进行设置,如下图:

3)创建Pod,执行命令:

kubectl create -f {path}/kubernetes-dashboard.yaml

2.3.3 访问dashboard
下载dashboard配置文件,执行如下命令:curl-L
1)访问地址:https://47.97.249.8:31233

本文为本人的创业团队产品MadPecker的团队技术人员编写,转载请标明出处。

原文地址:https://blog.51cto.com/14322715/2404231

时间: 2024-08-01 08:17:20

Kubernetes平台的安装详解的相关文章

CentOS程序包管理器rpm、yum以及程序包编译安装详解

一.程序包管理器RPM和Yum简介 程序包管理器:将编译好的应用程序的各组成文件打包成一个或几个程序包文件,可以更方便地实现程序包的安装.升级.卸载和查询等管理操作. rpm软件包管理器(RPM Package Manager):rpm包存在依赖关系,依赖关系复杂,安装时间很长,虽然可以忽略依赖关系,但是可能会导致程序包安装后无法正常使用. yum程序包管理器( Yellow dog Updater, Modified):yum是基于RPM包管理,自动解决程序包间的依赖关系.根据配置文件的资源地

Cloudera impala简介及安装详解

一.Impala简介 Cloudera Impala对你存储在Apache Hadoop在HDFS,HBase的数据提供直接查询互动的SQL.除了像Hive使用相同的统一存储平台,Impala也使用相同的元数据,SQL语法(Hive SQL),ODBC驱动程序和用户界面(Hue Beeswax).Impala还提供了一个熟悉的面向批量或实时查询和统一平台. 二.Impala安装 1.安装要求 (1)软件要求 Red Hat Enterprise Linux (RHEL)/CentOS 6.2 (

​Nginx 安装详解

Nginx 安装详解 nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息. 如有需要nginx 安装进行图文介绍http://down.51cto.com/data/1966600 点击进行下载 yum install gcc gcc-c++ -y 下面正式开始 -------------------------------------------------------------------------------------------- 一般我们都

httpd 安装详解(待更新)

httpd 安装详解 安装httpd: rpm包:CentOS发行版中直接提供 编译安装:定制新功能,或其它原因 安装方式: yum install httpd CentOS 6:httpd-2.2 程序环境: 配置文件: /etc/httpd/conf/httpd.conf/httpd /etc/httpd/conf.d/*.conf 服务脚本: /etc/rc.d/init.d/httpd 脚本配置文件:/etc/sysconfig/httpd 主程序文件: /usr/sbin/httpd

Gentoo Linux安装详解--根据官方WiKi整理

1. 前期准备 远程登录: 开启ssh服务: /etc/init.d/sshd start 设置密码: passwd 以便使用putty.ssh client远程登录上传stage等(有时在线下载很慢,而局域网上传很快) 准备磁盘: 分区: fdisk /dev/sda /dev/sda1 : /boot 100M(32-100M) 设启动笔记-a/dev/sda2 : / 20G/dev/sda3 : /home 20G/dev/sda5 : /swap 1G (内存< 512 MB,分区分配

Linux下ORACLE客户端安装详解

1.首先去oracle官网下载以下安装包(http://www.oracle.com/technetwork/topics/linuxsoft-082809.html) instantclient-basic-linux.x64-11.2.0.3.0.zip instantclient-odbc-linux-11.2.0.3.0.zip instantclient-sdk-linux.x64-11.2.0.3.0.zip instantclient-sqlplus-linux.x64-11.2.

Windows下caffe安装详解(仅CPU)

本文大多转载自 http://blog.csdn.net/guoyk1990/article/details/52909864,加入部分自己实战心得. 1.环境:windows 7\VS2013 2.caffe-windows准备 (1)下载官方caffe-windows并解压,将 .\windows\CommonSettings.props.example备份,并改名为CommonSettings.props.如图4所示: 图 4:修改后的CommonSettings.props文件 附带说明

MySQL安装详解

MySQL安装详解 [下载地址:http://dev.mysql.com/downloads/] 参考文献:http://dev.mysql.com/doc/refman/5.1/zh/installing.html 步骤1:选择安装类型 有3种安装类型:Typical(典型安装).Complete(完全安装)和Custom(定制安装). Typical(典型安装)安装只安装MySQL服务器.mysql命令行客户端和命令行实用程序.命令行客户端和实用程序包括mysqldump.myisamchk

Gentoo Linux安装详解

1. 前期准备 远程登录: 开启ssh服务: /etc/init.d/sshd start 设置密码: passwd 以便使用putty.ssh client远程登录上传stage等(有时在线下载很慢,而局域网上传很快) 准备磁盘: 分区: fdisk /dev/sda /dev/sda1 : /boot 100M(32-100M) 设启动笔记-a/dev/sda2 : / 20G/dev/sda3 : /home 20G/dev/sda5 : /swap 1G (内存< 512 MB,分区分配