准备3台centos 7+ (建议7以上,不然要会很麻烦,要升级内核等等,扯淡的东西)

安装docker 和k8s集群(均以最新版为例)基于官网

设置静态ip(可选)

查看本机的网关ip

cd /Library/Preferences/VMware\ Fusion/vmnet8

cat nat.conf

进入centos7

service network restart

修改主机名(可选)

echo 'newhostname' > /etc/hostname

centos 7:(可选)

更改模式命令:systemctl set-default graphical.target由命令行模式更改为图形界面模式

systemctl set-default multi-user.target由图形界面模式更改为命令行模式

更改后验证是否正确 shutdown -r now

关闭防火墙(建议)

Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.

systemctl disable firewalld.service

systemctl stop firewalld.service

systemctl status firewalld.service

yum 安装docker

yum install -y yum-utils device-mapper-persistent-data lvm2

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum install docker-ce docker-ce-cli

systemctl enable docker

systemctl start docker

设置docker国内镜像仓库地址 阿里加速

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'

{

"registry-mirrors": ["https://wwpko457.mirror.aliyuncs.com"]

}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

禁用虚拟内存

sudo swapoff -a

设置k8s下载源

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

[kubernetes]

name=Kubernetes

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

enabled=1

gpgcheck=0

EOF

yum install -y kubelet kubeadm kubectl

— 开机启动

systemctl enable kubelet

systemctl start kubelet

Eg:

docker pull registry.aliyuncs.com/google_containers/kube-proxy:v1.17.0

docker tag registry.aliyuncs.com/google_containers/kube-proxy:v1.17.0 k8s.gcr.io/kube-proxy:v1.17.0

docker pull registry.aliyuncs.com/google_containers/pause:3.1

docker tag registry.aliyuncs.com/google_containers/pause:3.1 k8s.gcr.io/pause:3.1

docker pull registry.aliyuncs.com/google_containers/kube-apiserver-amd64:v1.17.0

docker tag registry.aliyuncs.com/google_containers/kube-apiserver-amd64:v1.17.0 k8s.gcr.io/kube-apiserver:v1.17.0

docker pull registry.aliyuncs.com/google_containers/kube-scheduler:v1.17.0

docker tag registry.aliyuncs.com/google_containers/kube-scheduler:v1.17.0 k8s.gcr.io/kube-scheduler:v1.17.0

docker pull registry.aliyuncs.com/google_containers/kube-controller-manager:v1.17.0

docker tag registry.aliyuncs.com/google_containers/kube-controller-manager:v1.17.0 k8s.gcr.io/kube-controller-manager:v1.17.0

docker pull registry.aliyuncs.com/google_containers/coredns:1.6.5

docker tag registry.aliyuncs.com/google_containers/coredns:1.6.5 k8s.gcr.io/coredns:1.6.5

docker pull registry.aliyuncs.com/google_containers/etcd:3.4.3-0

docker tag registry.aliyuncs.com/google_containers/etcd:3.4.3-0 k8s.gcr.io/etcd:3.4.3-0

docker pull quay-mirror.qiniu.com/coreos/flannel:v0.11.0-amd64

docker tag quay-mirror.qiniu.com/coreos/flannel:v0.11.0-amd64 quay.io/coreos/flannel:v0.11.0-amd64

Kubeadm 常用命令

https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-config/

kubeadm config images list

// 初始化k8s

kubeadm init --apiserver-advertise-address=172.16.203.100  --pod-network-cidr 10.244.0.0/16 --ignore-preflight-errors all --node-name k8s-master

安装pod网络插件

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

记录这个,因为这个是加入集群的令牌

kubeadm join 172.16.203.100:6443 --token m074vp.re0ahabqfbttzxv4     --discovery-token-ca-cert-hash sha256:d89f464796d5fedf950ea734802be373d9e04144151cefcceaae8f432ab2b2a2 --node-name k8s-node1

重启相关服务

systemctl restart kube-apiserver

systemctl restart kube-controller-manager

systemctl restart kube-scheduler

systemctl start kube-apiserver.service

systemctl start kube-controller-manager

systemctl start kube-scheduler

kubeadm reset

rm -rf $HOME/.kube

常用命令

kubectl get nodes -n kube-system

kubectl get pods -n kube-system

kubectl describe pod kube-proxy-6xq4r -n kube-system

kubectl delete pods kube-flannel-ds-amd64-gk2vn -n kube-system

// 重启

kubectl get pod PODNAME -n NAMESPACE -o yaml | kubectl replace --force -f -

kubectl get pod kube-apiserver-localhost.localdomain -n kube-system -o yaml | kubectl replace --force -f -

Kubectl create deployment nginx —image=nginx

暴露端口

kubectl expose deployment nginx --port=80 --type=NodePort

kubectl get pods,svc

kubectl get pods,svc -o wide

如果

docker pull quay.io/coreos/flannel:v0.11.0-amd64  慢可用 :docker pull quay-mirror.qiniu.com/coreos/flannel:v0.11.0-amd64

基本master 结束

(管理界面ui)

https://raw.githubusercontent.com/kubernetes/dashboard/v1.1.0.1/src/deploy/recommended.yaml

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml

2.28秒创建一个k8s集群(非理论篇,理论自行 -- )的更多相关文章

  1. [k8s]简单启动一个k8s集群

    简单启动一个k8s集群 kube-master mkdir -p /root/logs/api-audit /root/logs/controller /root/logs/scheduler kub ...

  2. 用kubeadm+dashboard部署一个k8s集群

    kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具. 这个工具能通过两条指令完成一个kubernetes集群的部署: 1. 安装要求 在开始之前,部署Kubernetes集群 ...

  3. K8S学习笔记之二进制的方式创建一个Kubernetes集群

    0x00 单节点搭建和简述 minikube Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernetes或日常开发的用户使用.不能用于生产环境. 官方地址: ...

  4. Docker部署tomcat+nginx+mysql,创建一个tomcat集群

    Docker的部署可以选择虚拟机或者云服务器,我自己选择的是本机安装centos7虚拟机: 1.虚拟机安装登录成功后开始部署docker: 首先了解docker是一个开源应用容器引擎,基于Go语言遵循 ...

  5. 使用docker来创建一个etcd集群

    docker run -d --name etcd1 --network etcdnet --ip 172.25.0.101 -p 23791:2379 -e ETCDCTL_API=3 -v /ro ...

  6. 【K8S学习笔记】Part2:获取K8S集群中运行的所有容器镜像

    本文将介绍如何使用kubectl列举K8S集群中运行的Pod内的容器镜像. 注意:本文针对K8S的版本号为v1.9,其他版本可能会有少许不同. 0x00 准备工作 需要有一个K8S集群,并且配置好了k ...

  7. 搭建K8S集群

    一.前言 我们将现有的虚拟机称之为Node1,用作主节点.为了减少工作量,在Node1安装Kubernetes后,我们利用VirtualBox的虚拟机复制功能,复制出两个完全一样的虚拟机作为工作节点. ...

  8. 使用Kubeadm创建k8s集群之部署规划(三十)

    前言 上一篇我们讲述了使用Kubectl管理k8s集群,那么接下来,我们将使用kubeadm来启动k8s集群. 部署k8s集群存在一定的挑战,尤其是部署高可用的k8s集群更是颇为复杂(后续会讲).因此 ...

  9. 如何使用Rancher在OpenStack上创建K8S集群

    不可否认的是,OpenStack仍然是可行的云操作系统,并且被全世界许多互联服务提供商使用.而Rancher是业界最为广泛使用的Kubernetes管理平台,通过简洁直观的GUI集中管理企业IT中的多 ...

随机推荐

  1. Python3 并发编程4

    目录 Event事件 线程池与进程池 基本概念 使用方法 和信号量的区别 协程(coroutine) 基本概念 实现方式 多线程爬取梨视频 Event事件 用来控制线程的执行 e.isSet()查看对 ...

  2. 【Java Web开发学习】Spring4条件化的bean

    [Java Web开发学习]Spring4条件化的bean 转载:https://www.cnblogs.com/yangchongxing/p/9071960.html Spring4引入了@Con ...

  3. 201871010119-帖佼佼《面向对象程序设计(java)》第八周学习总结

    博文正文开头格式:(2分) 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.co ...

  4. Vue使用Viser

    最近产品经理发现antV的图表非常漂亮,想在项目里使用,看了下文档antV适用于Vue的分支叫Viser,Viser的官方文档写的有点随意,在此给出Vue中使用Viser的方法如下: 1.安装Vise ...

  5. CCF-CSP题解 201509-4 高速公路

    有点忧愁.\(CSP\)也考\(Tarjan\)缩点的嘛. 原理咱也不明白,咱也不敢学,找到模板就是抄. #include<bits/stdc++.h> const int maxn = ...

  6. MySQL高级查询之索引创建、删除、增加、修改、慢sql、explain解释sql

    day04数据库 昨日知识点回顾 1.单表操作 1.单表的操作 条件查询的优先级别: where > group by >having > order by > limit; ...

  7. 我的chrome 智能扩展插件copier开源了!!!

    整理了下之前写的chrome-extensions-copier,分享给大家. 这个插件呢,主要用来在chrome浏览器上复制某些网站的某些特定内容,主要是用来复制代码,提高效率!(没办法,某些网站不 ...

  8. python 多线程编程之threading模块(Thread类)创建线程的三种方法

    摘录 python核心编程 上节介绍的thread模块,是不支持守护线程的.当主线程退出的时候,所有的子线程都将终止,不管他们是否仍在工作. 本节开始,我们开始介绍python的另外多线程模块thre ...

  9. 【Web前端开发】---自学转行roadmap

    [Web前端开发] 自学转行roadmap: ● html/css ● 京东项目实操 ● javascript 基础 ● webapi ● javascrip高级 ● jquery基础 ● Ajax ...

  10. Dynamics 365中使用计算字段自动编号字段实时工作流自动生成分组编码加流水号的自动编号字段值

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...