概述

本次安装采用 Ubuntu Server X64 18.04 LTS 版本安装 kubernetes 集群环境,集群节点为 1 主 2 从模式,此次对虚拟机会有些基本要求,如下:

  • OS:Ubuntu Server X64 18.04 LTS(16.04 版本步骤相同,再之前则不同)
  • CPU:最低要求,1 CPU 2 核
  • 内存:最低要求,2 GB
  • 磁盘:最低要求,20 GB

节点配置

主机名 IP 角色 系统 CPU/内存 磁盘
kubernetes-master 192.168.141.110 Master Ubuntu Server 18.04 2 核 2G 20G
kubernetes-node-01 192.168.141.120 Node Ubuntu Server 18.04 2 核 4G 20G
kubernetes-node-02 192.168.141.121 Node Ubuntu Server 18.04 2 核 4G 20G

统一环境配置

注意: 以下步骤请在制作 VMware 镜像时一并完成,避免逐台安装的痛苦

关闭交换空间

swapoff -a

避免开机启动交换空间

# 注释 swap 开头的行
vi /etc/fstab

关闭防火墙

ufw disable

配置 DNS

# 取消 DNS 行注释,并增加 DNS 配置如:114.114.114.114,修改后重启下计算机
vi /etc/systemd/resolved.conf

安装Docker制定版本

安装Docker指定版本

安装 Kubernetes 必备工具

安装三个 Kubernetes 必备工具,分别为 kubeadm,kubelet,kubectl

# 安装系统工具
apt-get update && apt-get install -y apt-transport-https# 安装 GPG 证书
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -# 写入软件源;注意:我们用系统代号为 bionic,但目前阿里云不支持,所以沿用 16.04 的 xenial
cat << EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF# 查找版本
apt-cache madison xxx(比如kubeadm)# 更新源
sudo apt-get update# 安装
sudo apt-get install -y xxx=[VERSION](版本号)

同步时间

  • 设置时区
dpkg-reconfigure tzdata
  • 选择 Asia(亚洲)
  • 选择 Shanghai(上海)
  • 时间同步
# 安装 ntpdate
apt-get install ntpdate
# 设置系统时间与网络时间同步(cn.pool.ntp.org 位于中国的公共 NTP 服务器)
ntpdate cn.pool.ntp.org
# 将系统时间写入硬件时间
hwclock --systohc
  • 确认时间
date# 输出如下(自行对照与系统时间是否一致)
Sun Jun  2 22:02:35 CST 2019

修改 cloud.cfg

主要作用是防止重启后主机名还原

vi /etc/cloud/cloud.cfg# 该配置默认为 false,修改为 true 即可
preserve_hostname: true

重启

$ reboot

查看安装的版本

$ kubeadm version
# kubeadm version: &version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.5", GitCommit:"2166946f41b36dea2c4626f90a77706f426cdea2", GitTreeState:"clean", BuildDate:"2019-03-25T15:24:33Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}$ kubectl version --client
# Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.5", GitCommit:"2166946f41b36dea2c4626f90a77706f426cdea2", GitTreeState:"clean", BuildDate:"2019-03-25T15:26:52Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}$ kubelet --version
# Kubernetes v1.13.5

单独节点配置

注意: 为 Master 和 Node 节点单独配置对应的 IP 和 主机名

配置 IP

编辑 vi /etc/netplan/50-cloud-init.yaml配置文件,修改内容如下

network:ethernets:ens33:addresses: [192.168.159.131/24]gateway4: 192.168.159.2nameservers:addresses: [192.168.159.2]version: 2

使用 netplan apply 命令让配置生效

配置主机名

# 修改主机名
hostnamectl set-hostname kubernetes-master# 配置 hosts
cat >> /etc/hosts << EOF
192.168.159.131 kubernetes-master
EOF

安装指定版本Kubernetes相关推荐

  1. 安装指定版本的minikube

    Minikube是什么? Kubernetes集群的安装和部署对于很多初学者来说是一道坎.为了方便大家开发和体验Kubernetes,Kubernetes开源社区提供了可以在本地部署的Minikube ...

  2. 安装指定版本Angular-CLI

    卸载并安装指定版本Angular CLI 卸载之前的版本 npm uninstall -g @angular/cli 清除缓存,确保卸载干净 npm cache clean 检查是否卸载干净 输入ng ...

  3. CentOS 6.9/7通过yum安装指定版本的JDK/Maven

    说明:通过yum好处其实很多,环境变量不用配置,配置文件放在大家都熟悉的地方,通过rpm -ql xxx可以知道全部文件的地方等等. 一.安装JDK(Oracle JDK 1.8) # wget -- ...

  4. 运维笔记--ubuntu安装指定版本的RabbitMQ

    场景描述: 日常开发or生产环境经常会需要安装指定版本的软件,出于和其他软件的配合兼容性,以及稳定性的考虑. 现在我们的需求是安装指定版本的RabbitMQ,版本号: 操作步骤: 注意事项: 异常处理 ...

  5. yum 安装指定版本php,怎样通过yum安装指定版本的php

    通过yum安装指定版本的php的方法:首先执行[yum -y install epel-release]命令安装源:然后执行[yum-config-manager –enable remi-php71 ...

  6. Ubuntu通过apt-get安装指定版本和查询指定软件有多少个版本

    一.通过apt-get安装指定版本 apt-get install <<package name>>=<<version>> 二.查询指定软件有多少个版 ...

  7. docker-machine为节点安装指定版本的docker-ce的思路

    对于指定版本的问题,翻遍官网文档和github上的issue,始终没有一个好的回答,而且该产品的开发人员不知道为什么总不正面提供方法,也许是为了推广新版本, 但是这样真的好吗?docker swarm ...

  8. centos 安装指定版本gc_番外篇 (1) Docker 安装

    # step 1: 安装必要的一些系统工具 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # Step 2: 添加软 ...

  9. Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本)...

    Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本) Hive 安装依赖 Hadoop 的集群,它是运行在 Hadoop 的基础上. 所以在安装 Hive 之 ...

最新文章

  1. 故对于回调函数来说,在其内部使用 this 是不把稳的做法,解决方案可以在其调用时使用 call / apply / bind 显示绑定。
  2. crontab 各参数详解及如何查看日志记录
  3. jsonp跨域访问服务
  4. python中使用ElementTree 操作XML
  5. visual studio快捷键 Qt creator快捷键
  6. boost::fusion::result_of::empty用法的测试程序
  7. 绝不重新定义继承而来的缺省值参数
  8. P4593-[TJOI2018]教科书般的亵渎【拉格朗日差值】
  9. rust睡觉按键没反应_Rust 有问有答之 use 关键字
  10. 18f458中断入口C语言_操作系统开发之——中断
  11. NullPointerException的处理新方式,Java14真的太香了
  12. ARM产品系列对应架构图
  13. 中国塑料加工机械市场趋势报告、技术动态创新及市场预测
  14. 手机上有没有学python的软件-【Learn Python】用手机学Python
  15. multisimbcd码_8421BCD码转换成5421BCD码
  16. C++自编图书借阅系统
  17. 单片机 基于IIC通讯 驱动TM1640点亮LED灯
  18. 外网登录homeassistant
  19. [乡土民间故事_徐苟三传奇]第四四回_赵员外苕吃假香肠
  20. NOIp2017——追求那些我一直追求的

热门文章

  1. C语言中的strcat()函数
  2. 【AUTOSAR】:功能安全(HSM与HOST的配置)
  3. asp毕业设计——基于asp+access的订单管理系统设计与实现(毕业论文+程序源码)——订单管理系统
  4. emWin 2天速成实例教程012_基于STM32单片机的全键盘中文汉字拼音输入法
  5. 最受DBA欢迎的数据库技术文档-巡检篇
  6. Unity 2D游戏:代码控制精灵图片切换做出帧动画效果
  7. golang加载双向认证加密的证书key文件
  8. 会员卡充值系统小程序开发制作功能介绍
  9. iOS开发 - 中文 iOS/Mac 开发博客列表
  10. Spring Java Mail发邮件