2.28秒创建一个k8s集群(非理论篇,理论自行 -- )
准备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集群(非理论篇,理论自行 -- )的更多相关文章
- [k8s]简单启动一个k8s集群
简单启动一个k8s集群 kube-master mkdir -p /root/logs/api-audit /root/logs/controller /root/logs/scheduler kub ...
- 用kubeadm+dashboard部署一个k8s集群
kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具. 这个工具能通过两条指令完成一个kubernetes集群的部署: 1. 安装要求 在开始之前,部署Kubernetes集群 ...
- K8S学习笔记之二进制的方式创建一个Kubernetes集群
0x00 单节点搭建和简述 minikube Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernetes或日常开发的用户使用.不能用于生产环境. 官方地址: ...
- Docker部署tomcat+nginx+mysql,创建一个tomcat集群
Docker的部署可以选择虚拟机或者云服务器,我自己选择的是本机安装centos7虚拟机: 1.虚拟机安装登录成功后开始部署docker: 首先了解docker是一个开源应用容器引擎,基于Go语言遵循 ...
- 使用docker来创建一个etcd集群
docker run -d --name etcd1 --network etcdnet --ip 172.25.0.101 -p 23791:2379 -e ETCDCTL_API=3 -v /ro ...
- 【K8S学习笔记】Part2:获取K8S集群中运行的所有容器镜像
本文将介绍如何使用kubectl列举K8S集群中运行的Pod内的容器镜像. 注意:本文针对K8S的版本号为v1.9,其他版本可能会有少许不同. 0x00 准备工作 需要有一个K8S集群,并且配置好了k ...
- 搭建K8S集群
一.前言 我们将现有的虚拟机称之为Node1,用作主节点.为了减少工作量,在Node1安装Kubernetes后,我们利用VirtualBox的虚拟机复制功能,复制出两个完全一样的虚拟机作为工作节点. ...
- 使用Kubeadm创建k8s集群之部署规划(三十)
前言 上一篇我们讲述了使用Kubectl管理k8s集群,那么接下来,我们将使用kubeadm来启动k8s集群. 部署k8s集群存在一定的挑战,尤其是部署高可用的k8s集群更是颇为复杂(后续会讲).因此 ...
- 如何使用Rancher在OpenStack上创建K8S集群
不可否认的是,OpenStack仍然是可行的云操作系统,并且被全世界许多互联服务提供商使用.而Rancher是业界最为广泛使用的Kubernetes管理平台,通过简洁直观的GUI集中管理企业IT中的多 ...
随机推荐
- vue-cli开发项目,调用html5+接口,hbuilder真机运行,打包
开发中使用vue-cli正常开发 将配置文件中的路径改为相对路径--否则在打包之后真机运行时无法找到指定路径 开发完或者开发途中想要查看调用h5+的api效果就需要打包了 npm run build ...
- 大数据学习笔记——Hbase高可用+完全分布式完整部署教程
Hbase高可用+完全分布式完整部署教程 本篇博客承接上一篇sqoop的部署教程,将会详细介绍完全分布式并且是高可用模式下的Hbase的部署流程,废话不多说,我们直接开始! 1. 安装准备 部署Hba ...
- JVM垃圾收集器CMS和G1
CMS(Concurrent Mark Sweep)收集器是一种以获取 最短回收停顿时间 为目标的收集器.采用的是"标记-清除算法",整个过程分为4步 由于整个过程中,并发标记和并 ...
- 简单学习【1】——使用webpack
使用webpack webpack命令 webpack配置 第三方脚手架 1.webpack命令 webpack - h (webpack 所有的选项) webpack -v (查看webpack的版 ...
- 用故事说透 HTTPS
本文来自素燕公众号,原文地址:用故事说透 HTTPS 故事中的主演:小华今年上大一,这是她第一次离开父母,独自一人到北京上学.今天妈妈的生日,想了想要给妈妈一个祝福,便给妈妈发了条消息:妈妈收到这条消 ...
- ZedGraph的曲线的LineItem对象的Tag属性存储信息进而在鼠标悬浮时进行显示
场景 Winform中设置ZedGraph鼠标悬浮显示距离最近曲线上的点的坐标值和X轴与Y轴的标题: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article ...
- C#中怎样连接数据库并将查询结果转为实体类以及如何加入事务
场景 新建一个程序,需要对数据的表进行查询并将查询结果转换为实体类,然后将多个实体类 再插入到另一个数据库的表中,执行插入的过程中要使用事务. 注: 博客主页: https://blog.csdn.n ...
- 如何编写一个TS程序?
第一步:我们首先需要个代码编辑器-VSCode 点击此处下载(你会下载到rar文件) 第二步:我们还需要下载NodeJS,因为这里有npm,npm是包管理工具,可以下载TypeScript. 注意: ...
- 使用VS2005编译安装openssl1.1.1c
1.首先获取openssl源码包 openssl-1.1.1c.tar.gz: 2.安装 ActivePerl: 2.解压源码包,打开vs2005命令行工具,通过命令行进入openssl源码包根目录: ...
- DFA最小化,语法分析初步
1.将DFA最小化:教材P65 第9题 2.构造以下文法相应的最小的DFA S→ 0A|1B A→ 1S|1 B→0S|0 语言:(01 | 10)*(01 | 10) 自动机图: DFA状态转换矩阵 ...