kubeadm 部署kubernetes1.11.1,dashboard1.10.0
---恢复内容开始---
实验环境准备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的更多相关文章
- Centos7使用kubeadm部署kubernetes-1.11.2
1.安装方式 1. 传统方式,以下组件全部运行在系统层面(yum或者rpm包),都为系统级守护进程 2. kubeadm方式,master和node上的组件全部运行为pod容器,k8s也为pod ...
- kubeadm部署kubernetes-1.12.0 HA集群-ipvs
一.概述 主要介绍搭建流程及使用注意事项,如果线上使用的话,请务必做好相关测试及压测. 1.基础环境准备 系统:ubuntu TLS 16.04 5台 docker-ce:17.06.2 kubea ...
- kubeadm 部署kubernetes1.14
节点信息: 主机名 IP 角色 k8s-master 10.10.0.10 master节点 k8s-node01 10.10.0.11 集群worke节点 k8s-node02 10.10.0.12 ...
- 使用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 ...
- 来了,老弟!__二进制部署kubernetes1.11.7集群
Kubernetes容器集群管理 Kubernetes介绍 Kubernetes是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernetes也叫K8S.K8S是Go ...
- centos7 部署 汉化版 gitlab 10.0.2
更新说明: 20171009:增加3.5的内容 20171008:整理出gitlab部署手册 =============================================== gitla ...
- 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 ...
- 使用kubeadm部署kubernetes1.9.1+coredns+kube-router(ipvs)高可用集群
由于之前已经写了两篇部署kubernetes的文章,整个过程基本一致,所以这篇只着重说一下coredns和kube-router的部署. kube version: 1.9.1 docker vers ...
- 使用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 ...
随机推荐
- java网络编程-面试题
1.网络编程时的同步.异步.阻塞.非阻塞? 同步:函数调用在没得到结果之前,没有调用结果,不返回任何结果.异步:函数调用在没得到结果之前,没有调用结果,返回状态信息.阻塞:函数调用在没得到结果之前,当 ...
- Linux 网络工具netcat(nc)的应用
NETCAT netcat是Linux常用的网络工具之一,它能通过TCP和UDP在网络中读写数据,通过与其他工具结合和重定向,可以在脚本中以多种方式使用它. netcat所做的就是在两台电脑之间建立链 ...
- Struts2的学习自我总结
Struts2是一个轻量的的开源的框架,可以实现mvc的模式,起初struts和webwork两家公司都存在,后来strus的技术要落后一些,但是使用人群比较广泛,为了避免今后struts被淘汰,st ...
- Kali Linux安装AWVS漏扫工具
Acunetix是全球排名前三的漏洞发现厂商,其全称(Acunetix Web Vulnerability Scanner)AWVS是业内领先的网络漏洞扫描器,其被广泛赞誉为包括最先进的SQL注入和X ...
- webpack打包时删除console.log,和debugger
开发过程中我们不可避免的需要console.log调试,然而在上线时如果不删除这些console.log可能会造成内存泄漏,因为console.log出来的变量是不会被GC的,webpack给我们提供 ...
- 怎样写一个Hello World!
Python 的 Hello, World! 应该是所有语言里面最简单的: print("Hello, World!")
- Python的.sort()方法和sorted()比较总结
1,.sort()方法 使用方式是:列表.sort(),作用是将原来的列表正序排序,所以它是对原来的列表进行的操作,不会产生一个新列表,例如: import random numList=[] pri ...
- .net core 根据数据库生成实体类
微软最近几年在跨平台上不断发力,很多.net程序员也摩拳擦掌,对微软寄以厚望.就在最近,微软还推出了asp .net core2.0预览版. 通过对.net core的简单尝试,我发现以往我们开发MV ...
- iOS 定义多个参数函数的写法
多个参数的写法 (方法的数据类型)函数名:(参数1数据类型)参数1的数值的名字 参数2的名字: (参数2数据类型) 参数2值的名字 …. ; 如 : 有三个参数 -(void)getdetailI ...
- 10 TCP限流技术
TCP限流是因为让接收方充分接受完消息,保证数据安全,不会丢失 一.窗口机制介绍 发送端和接收端都拥有一个窗口,当发送端发送数据时,落进窗口的数据被发送,当接受端接受数据时,落进接收端窗口的数据将会被 ...