部署说明

k8s新的版本与之前1.5的部署方式发生改变,官方将kubernetes大组件中的服务例如(kube-proxy、kube-api等服务)剥离出来封装成容器的形式来简化部署的方式。以下为三个必装的服务:

kubelet :运行在 Cluster 所有节点上,主要负责启动 Pod 和容器。

kubeadm :用于初始化和引导Cluster(是官方推出快速部署k8s集群,其本 质是将k8s的相关服务容器化)

kubectl :是 Kubernetes 命令行工具与api交互。通过 kubectl 可以部署和管理应用,查看各种资源,创建、删除和更新各种组件

部署环境

角色 IP 服务

ka8-master 10.0.0.120 kubeadm-1.9.6-0,kubectl-1.9.6-0,docker-ce-17-03.0,kubelet-1.9.6-0

k8s-node 10.0.0.121 kubelet-1.9.6-0,

注意:两台机器的时间一定要一致,并且docker-ce的版本不能大于17.03,docker可以使用官方的源进行安装,安装的时候指定需要安装的版本,或者使用rpm包安装即可。

k8s需要用到的镜像已经打包好上传到云盘:

链接: https://pan.baidu.com/s/1CVuCwX3Fl-VcUxftXPEN1g 密码: 56a3

安装配置

系统环境:centos7.3

1、替换源,因为按照官方的方式在国内安装,会导致安装失败(被墙)

配置位置 Master node

1)配置准备

关闭firewalld

systemctl stop firewalld

systemctl disable firewalld

关闭swap

swapoff -a

sed -i 's/.*swap.*/#&/' /etc/fstab

关闭selinux

setenforce 0

添加kubernetes源

cat:

cat <<EOF > /etc/yum.repos.d/kubernetes.repo

[kubernetes]

name=Kubernetes

baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64

enabled=1

gpgcheck=0

repo_gpgcheck=0

gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg

http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

EOF

2)安装docker-ce并导入镜像

配置位置 Master node

##安装docker-ce:

$rpm -ihv docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm

$rpm -ivh docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm

##启动docker-ce

$systemctl start docker

$systemctl enable docker

##解压下载的镜像包:

$tar -jvxf k8s-1.9.6-images.tar.bz2

$cd k8s-1.9.6-images

##导入所需要的镜像包:

$docker load <etcd-amd64_3.1.11.tar

$docker load < flannel_v0.10.0-amd64.tar

$docker load < k8s-dns-dnsmasq-nanny-amd64_v1.14.7.tar

$docker load < k8s-dns-kube-dns-amd64_1.14.7.tar

$docker load < k8s-dns-sidecar-amd64_1.14.7.tar

$docker load < kube-apiserver-amd64_v1.9.6.tar

$docker load < kube-controller-manager-amd64_v1.9.6.tar

$docker load < kube-proxy-amd64_v1.9.6.tar

$docker load < kubernetes-dashboard-amd64_v1.8.3.tar

$docker load < kube-scheduler-amd64_v1.9.6.tar

$docker load < pause-amd64_3.0.tar

3)安装k8s

配置位置 Master node

1、修改参数

##修改内核两个参数(这两个是参数是防止应用部署在centos系统情况下由于iptables被绕过而导致的路由错误)

简单的说就是使流过网桥的流量也进入iptables/netfilter框架中:

cat <<EOF > /etc/sysctl.d/k8s.conf

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

EOF

sysctl --system

2、安装组件

yum install -y kubelet-1.9.6-0 kubectl-1.9.6-0 kubeadm-1.9.6-0

#确保kubelets使用的cgroup-driver和docker使用的cgroup-driver一样:

sed -i "s/cgroup-driver=systemd/cgroup-driver=cgroupfs/g" /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

3、启动kubelet服务:

systemctl daemon-reload

systemctl start kubelet

systemctl enable kubelet

4)集群初始化:

配置位置 Master

kubeadm init --apiserver-advertise-address 192.168.100.135 --pod-network-cidr=10.244.0.0/16

--apiserver-advertise-address

指明用Master的哪个interface与Cluster 的其他节点通信

–pod-network-cidr

指定Pod网络的范围k8s支持多种网络方案不同的网络方案对这个配置有不同的要求,这里设置为 10.244.0.0/16是因为我们将使用flanne 网络方案,所以设置成这个 CIDR。

5)root用户还不能使用kubelet控制集群,需要配置下环境变量:

##对于非root用户:

$mkdir -p $HOME/.kube

$cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

$chown $(id -u):$(id -g) $HOME/.kube/config

##对于root用户:

$echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile

$source ~/.bash_profile

##测试下:

$kubectl version

6)部署pod网络

配置位置 Master

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

Node节点上执行如下加入:

kubeadm join --token 0428e2.35a3db294493bfdb 192.168.100.135:6443 --discovery-token-ca-cert-hash sha256:d598c1b5229bc1e3b118bed424a5f369cbbb61c03072dcd126f209ca7b5efbba

kubeadm token list

这里的token为我们在maste初始化时候给出的token,若是忘记或者关闭了master窗口没记录下来可以在master上执行如下来获取token加入

7)kubernetes-dashboard部署

配置位置 Master

给master主机设置一个label用来后面部署dashborad的时候指定部署到master主机上,防止部署到node节点上

kubectl label nodes k8s-master master=node1

用于部署kubernetes-dashboard的yaml文件也在刚刚下载的压缩包里面,所以一样进入k8s-1.9.6-images目录

kubectl create -f kubernetes-dashboard.yaml

注意:设置label是因为我修改了kubernetes-dashboard.yaml,防止部署到node节点上去,到时候还得修改其他配置,麻烦

(-_-),压缩包中的该配置文件我已经改成如下,若不想(aojiao)设置label和上面的一样,需要自行修改。

本文转自CSDN-k8s v1.9.6 超详细搭建步骤

k8s v1.9.6 超详细搭建步骤相关推荐

  1. 负载均衡集群、高可用集群详解,DR、NAT超详细搭建步骤

    集群概述 流量相关:     PV:PV(page view)即页面浏览量或点击量,是衡量一个网站或网页用户访问量.具体的说,PV值就是所有访问者在24小时(0点到24点)内看了某个网站多少个页面或某 ...

  2. 【网址收藏】k8s高可用集群详细搭建步骤

    https://github.com/opsnull/follow-me-install-kubernetes-cluster

  3. Oracle 11g 11201_RHEL5.5_RAC_VBOX 详细搭建步骤

    Oracle 11g 11201_RHEL5.5_RAC_VBOX 详细搭建步骤 1.安装好vbox,创建好虚拟机(红帽5.5),注意:VBOX全局设置VBOX磁盘的位置和备份位置 IP.hostna ...

  4. rtmp测试地址_超详细搭建多码率测试环境(成为流媒体高手必经之路)

    0.引言 关注我的朋友,应该都知道,前面我们讲解了如何搭建srs流媒体服务器,链接如下.由于srs流媒体服务器是不支持多码率测试环境,所以不能在上次的环境上继续演示.那本篇文章就要给出一个新方案,就是 ...

  5. 不怕问题多,就怕不复盘,超详细复盘步骤呈上,建议收藏

    步履匆匆,从不回望自己和同行人的PM,极容易丧失前进的方向,避免丧失方向的最好方法是--复盘.所谓"磨刀不误砍柴工","复盘"就是磨砺利器的过程.又到月底了,来 ...

  6. flutter怎么添加ios网络权限_视频号直播间怎么添加购物车商品;超详细流程步骤。丨国仁网络资讯...

    蘑菇租房的联合创始人龙东平前几个月曾说:"视频号是一次掀翻桌子重新排座次的机会,是巨浪滔天,是新世界,新秩序." 视频号发展趋势愈加迅猛,越来越多的玩家涌入,正在获得新一波社交流量 ...

  7. Linux基础学习八:mysql主从复制原理以及详细搭建步骤

    MySQL的主从复制 MySQL的主从复制,指的是可以创建多台和主数据库完全一样的数据库环境(从数据库),对主数据库的写操作(增.删.改)会自动同步到子数据库中. 作用: 从数据库作作为冷备机,进行日 ...

  8. 基于阿里云ECS搭建云上博客!超详细图文步骤!

    阿里云体验 地址:https://developer.aliyun.com/adc/scenario/410e5b6a852f4b4b88bf74bf4c197a57?spm=a2c6h.150139 ...

  9. Django搭建虚拟环境(超详细完整步骤)

    阅读目录 一.建立虚拟环境 二.安装virtualenv 三.激活虚拟环境 四.安装Django 五.在Django中创建项目 六.创建数据库 七.查看项目 一.建立虚拟环境 pip install ...

最新文章

  1. Xen 和 KVM 下如何关闭 virbr0
  2. MOSS 2010:Visual Studio 2010开发体验(26)——工作流开发概述
  3. Vim文件管理器NERD tree
  4. 物理约束相关问题梳理
  5. ie php脚本引擎,使用php重新实现PHP脚本引擎内置函数
  6. 《高效程序员的45个习惯》-之一
  7. 云智视像 | 内推两个年薪可达70万+的CV算法职位~base杭州上海
  8. canvas瓦片图加载
  9. 设置指定打印机端口打印
  10. 苹果系统安装python环境_Mac下安装Python虚拟环境Virtualenv
  11. python 将txt文件转换为excel_Python学习笔记-Txt文件转Excel文件
  12. IT十年人生过客-十八-路过机遇
  13. 智能电视或将掀起IT产业新一轮狂潮
  14. 电脑win+R小知识
  15. Unity 编辑器开发实战【Editor Window】- Replacer 替换器
  16. 【华为ICT大赛】华为云激活设备的方法以及数据上下行
  17. QT基础学习笔记 Demo01
  18. sv常用的系统function/task(一)
  19. stm32cubeMX配置人体感应器SR505
  20. IDEA中怎么设置黑色或白色背景

热门文章

  1. pyglet wave.Error: file does not start with RIFF id
  2. JAVA实现替换空格(《剑指offer》)
  3. 亚洲游戏行业遭遇史上最大DDoS攻击,微软:我给扛下来了
  4. 深度学习正改变物理系统模拟,速度最高提升20亿倍那种
  5. 区块链只能炒币?5G通信、医疗健康、食品安全,采购管理这些领域都已用上国产自研长安链...
  6. TikTok在美逃过一劫,但在印度……
  7. 基于TensorFlow 2.0的中文深度学习开源书来了!GitHub趋势日榜第一,斩获2K+星
  8. 200米外遥测心跳确定身份,五角大楼全新黑科技,比人脸识别更准、伪装也没用...
  9. django框架--路由系统
  10. 第十四届华中科技大学程序设计竞赛 B Beautiful Trees Cutting【组合数学/费马小定理求逆元/快速幂】...