---恢复内容开始---

实验环境准备2台虚拟机:

  master节点:172.17.1.36

  node节点:172.17.1.40

首先安装master节点:

master 的虚拟机是全新的机器,在安装kubernetes之前的做下准备工作

关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

hostname master   ,并且修改/etc/hostname

关闭selinux

setenforce 0  永久关闭修改配置文件/etc/selinux/config       修改成SELINUX=disabled

准备docker  和kubernetes的repo文件

cd /etc/yum.repos.d/

vi  docker-ce.repo

[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/$basearch/stable
enabled=
gpgcheck=
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-stable-debuginfo]
name=Docker CE Stable - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/debug-$basearch/stable
enabled=
gpgcheck=
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-stable-source]
name=Docker CE Stable - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/source/stable
enabled=
gpgcheck=
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-edge]
name=Docker CE Edge - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/$basearch/edge
enabled=
gpgcheck=
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-edge-debuginfo]
name=Docker CE Edge - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/debug-$basearch/edge
enabled=
gpgcheck=
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-edge-source]
name=Docker CE Edge - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/source/edge
enabled=
gpgcheck=
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-test]
name=Docker CE Test - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/$basearch/test
enabled=
gpgcheck=
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-test-debuginfo]
name=Docker CE Test - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/debug-$basearch/test
enabled=
gpgcheck=
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-test-source]
name=Docker CE Test - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/source/test
enabled=
gpgcheck=
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-nightly]
name=Docker CE Nightly - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/$basearch/nightly
enabled=
gpgcheck=
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-nightly-debuginfo]
name=Docker CE Nightly - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/debug-$basearch/nightly
enabled=
gpgcheck=
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-nightly-source]
name=Docker CE Nightly - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/source/nightly
enabled=
gpgcheck=
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

vi  kubernetes.repo

[kubernetes]
name=Kubernetes Repo
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=1 #不想验证这里改成0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
enableld=

rpm --import rpm-package-key.gpg   导入下gpgkey

yum install docker-ce kubeadm-1.11.1 kubectl-1.11.1 kubelet-1.11.1   我安装是的1.11.1的版本

启动docker,并设置开机启动

systemctl start docker

systemctl enable docker

确保桥接的状态是打开的,返回是1说明是正常的

systemctl enable kubelet  开机启动kubelet   ,不要启动,因为配置没有初始化完成

vim /etc/sysconfig/kubelet 忽略swap on 开启集群不能初始化得错误
KUBELET_EXTRA_ARGS="--fail-swap-on=false"

kubeadm init --kubernetes-version=v1.11.1 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap  初始化集群

注意:初始化的时候需要以下的docker 镜像,由于某些不可描述的原因,下载不了,我这里是准备好的镜像文件导入的

[k8s.gcr.io/kube-apiserver-amd64:v1.11.1]
[k8s.gcr.io/kube-controller-manager-amd64:v1.11.1]
[k8s.gcr.io/kube-scheduler-amd64:v1.11.1]
[k8s.gcr.io/kube-proxy-amd64:v1.11.1]
[k8s.gcr.io/pause:3.1
[k8s.gcr.io/etcd-amd64:3.2.18]
[k8s.gcr.io/coredns:1.1.3]

出现这个界面是说明初始化完成!

kubeadm join 172.17.1.36:6443 --token 0kyf48.b4aevmeo1wdylowk --discovery-token-ca-cert-hash sha256:587072eb329d8af7bb52241ab52f6b27d8496dfc99ac1371686b05dcadc3e029   这个是node节点加入集群的命令,最好保存下

根据提示做这2不操作

[root@master yum.repos.d]# mkdir -p $HOME/.kube
[root@master yum.repos.d]# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

最后安装flannel 网络插件

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

这里下载flannel的镜像   quay.io/coreos/flannel:v0.10.0-amd64

验证下集群的状态

这样集群的master节点安装完成!

安装node节点

和master节点一样,需要docker-ce.repo,kubernetes.repo,还有关闭防火墙,关闭selinux,操作和master一样

yum install docker-ce kubeadm-1.11.1 kubelet-1.11.1

vim /etc/sysconfig/kubelet 忽略swap on 开启集群不能初始化得错误
KUBELET_EXTRA_ARGS="--fail-swap-on=false"

加入集群:

kubeadm join 172.17.1.36:6443 --token 0kyf48.b4aevmeo1wdylowk --discovery-token-ca-cert-hash sha256:587072eb329d8af7bb52241ab52f6b27d8496dfc99ac1371686b05dcadc3e029 --ignore-preflight-errors=Swap

node 上要有以下镜像:

[k8s.gcr.io/kube-proxy-amd64:v1.11.1]
[k8s.gcr.io/pause:3.1

quay.io/coreos/flannel:v0.10.0-amd64

在master节点下查看下状态

完工,kubernetes 部署完成!

部署dashboard

提前把k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.0 导入到node节点,当让有梯子的人就不用了

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml  应用dashboard的部署文件

已经部署好了,

创建serviceaccount 用于登陆dashboard

kubectl create serviceaccount dashboard-admin -n kube-system

创建clusterrolebinding

kubectl create clusterrolebinding cluster-dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin

查找刚刚生成的secret

这里我登陆dashboard用的是secret的token

把刚刚dashboard船舰的service 的类型改成NodePort  ,可以在部署dashboard的时候修改下yaml文件

kubectl patch svc kubernetes-dashboard -p '{"spec":{"type":"NodePort"}}' -n kube-system

登陆dashboard

选择令牌

输入刚刚secret的token

dashboard部署完成!

kubeadm 部署kubernetes1.11.1,dashboard1.10.0的更多相关文章

  1. Centos7使用kubeadm部署kubernetes-1.11.2

    1.安装方式 1.  传统方式,以下组件全部运行在系统层面(yum或者rpm包),都为系统级守护进程 2.  kubeadm方式,master和node上的组件全部运行为pod容器,k8s也为pod ...

  2. kubeadm部署kubernetes-1.12.0 HA集群-ipvs

    一.概述 主要介绍搭建流程及使用注意事项,如果线上使用的话,请务必做好相关测试及压测. 1.基础环境准备 系统:ubuntu TLS 16.04  5台 docker-ce:17.06.2 kubea ...

  3. kubeadm 部署kubernetes1.14

    节点信息: 主机名 IP 角色 k8s-master 10.10.0.10 master节点 k8s-node01 10.10.0.11 集群worke节点 k8s-node02 10.10.0.12 ...

  4. 使用kubeadm部署k8s集群[v1.18.0]

    使用kubeadm部署k8s集群 环境 IP地址 主机名 节点 10.0.0.63 k8s-master1 master1 10.0.0.63 k8s-master2 master2 10.0.0.6 ...

  5. 来了,老弟!__二进制部署kubernetes1.11.7集群

    Kubernetes容器集群管理 Kubernetes介绍 Kubernetes是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernetes也叫K8S.K8S是Go ...

  6. centos7 部署 汉化版 gitlab 10.0.2

    更新说明: 20171009:增加3.5的内容 20171008:整理出gitlab部署手册 =============================================== gitla ...

  7. Kubeadm部署-Kubernetes-1.18.6集群

    环境配置 IP hostname 操作系统 10.11.66.44 k8s-master centos7.6 10.11.66.27 k8s-node1 centos7.7 10.11.66.28 k ...

  8. 使用kubeadm部署kubernetes1.9.1+coredns+kube-router(ipvs)高可用集群

    由于之前已经写了两篇部署kubernetes的文章,整个过程基本一致,所以这篇只着重说一下coredns和kube-router的部署. kube version: 1.9.1 docker vers ...

  9. 使用Kubeadm部署Kubernetes1.14.1集群

    一.环境说明 主机名 IP地址 角色 系统 k8s-node-1 192.170.38.80 k8s-master Centos7.6 k8s-node-2 192.170.38.81 k8s-nod ...

随机推荐

  1. SHA1签名工具类java

    package com.net.util; import java.security.MessageDigest; import java.util.Iterator; import java.uti ...

  2. Kubernetes---容器探针

    ⒈含义 探针是由各个节点的kubelet对容器执行的定期诊断.要执行诊断,kubelet 调用由容器实现的Handler[处理程序].有三种类型的处理程序: >ExecAction:在容器内执行 ...

  3. 关于springboot的日志logging.file和logging.path的配置问题

    springboot日志配置 logging.path  logging.file 它们俩不会同时生效,so只配置其中一个就好了. eg1: 单独一个path配置 logging.path=E:/lo ...

  4. Ubuntu使用Shadow socks-qt5

    由于大多数朋友都问我在Ubuntu上面怎么kexueshangwang,为了防止以后忘记,故此记录. 本教程使用的配置 Ubuntu 16.10Shadowsocks-qt5一个可用的ss账号一根能够 ...

  5. mysqlpump原理及实战

    MySQL5.7之后多了一个备份工具:mysqlpump.它是mysqldump的一个衍生,mysqldump就不多说明了,现在看看mysqlpump到底有了哪些提升,可以查看官方文档,这里针对如何使 ...

  6. 15.Ansible安装与配置简单版

    Ansible是一个简单高效的自动化运维管理工具,用Python开发,能大批量管理N多台机器,可以并发的在多台机器上部署应用.安装软件.执行命令.配置和编排任务. 一.Ansible工作机制 从图中可 ...

  7. Swagger学习(二、配置swagger)

    基于上一篇 其实只是在SwaggerConfig.class中配置docket,apiInfo @Configuration //变成配置文件 @EnableSwagger2 //开启swagger2 ...

  8. 微信小程序转发事件

    和生命周期是同级,在.js文件里面设置 // 分享按钮 onShareAppMessage: function () { return { title: '前端伪大叔', path: "/p ...

  9. python中的not的意思

    python中的not的意思 在python中,not是逻辑判断,用于布尔值true和false,not true是false,not false是true.以下是not的一些常见用法:(1)当表达式 ...

  10. docker 第六篇 dockerfile

    复习下镜像生成途径 Dockerfile 基于容器制作 什么是dockerfile: 用来构建镜像的源码,在配置文件中调用命令,这些命令是用来生成docker镜像的. dockerfile的语法格式: ...