小白学k8s(6)使用kubespray部署k8s
kubespray部署k8s
准备
releases版本:v2.15.1
需要关闭防火墙
具体命令,自行google
配置hosts
cat >>/etc/hosts<<EOF
10.10.110.xxx k8s-master
10.10.110.xxx k8s-node1
10.10.110.xxx k8s-node2
EOF
处理镜像
k8s.gcr.io/kube-proxy:v1.19.9
k8s.gcr.io/kube-controller-manager:v1.19.9
k8s.gcr.io/kube-scheduler:v1.19.9
k8s.gcr.io/kube-apiserver:v1.19.9
k8s.gcr.io/coredns:1.7.0
k8s.gcr.io/pause:3.3
k8s.gcr.io/dns/k8s-dns-node-cache:1.17.1
k8s.gcr.io/cpa/cluster-proportional-autoscaler-amd64:1.8.3
k8s.gcr.io/kube-scheduler:v1.19.9
下载,打tag
docker pull liz2019/kube-proxy:v1.19.9
docker pull liz2019/kube-controller-manager:v1.19.9
docker pull liz2019/kube-scheduler:v1.19.9
docker pull liz2019/kube-apiserver:v1.19.9
docker pull liz2019/coredns:1.7.0
docker pull liz2019/pause:3.3
docker pull liz2019/k8s-dns-node-cache:1.17.1
docker pull liz2019/cluster-proportional-autoscaler-amd64:1.8.3
docker pull liz2019/kube-scheduler:v1.19.9
docker tag liz2019/kube-proxy:v1.19.9 k8s.gcr.io/kube-proxy:v1.19.9
docker tag liz2019/kube-controller-manager:v1.19.9 k8s.gcr.io/kube-controller-manager:v1.19.9
docker tag liz2019/kube-scheduler:v1.19.9 k8s.gcr.io/kube-scheduler:v1.19.9
docker tag liz2019/kube-apiserver:v1.19.9 k8s.gcr.io/kube-apiserver:v1.19.9
docker tag liz2019/coredns:1.7.0 k8s.gcr.io/coredns:1.7.0
docker tag liz2019/pause:3.3 k8s.gcr.io/pause:3.3
docker tag liz2019/k8s-dns-node-cache:1.17.1 k8s.gcr.io/dns/k8s-dns-node-cache:1.17.1
docker tag liz2019/cluster-proportional-autoscaler-amd64:1.8.3 k8s.gcr.io/cpa/cluster-proportional-autoscaler-amd64:1.8.3
docker tag liz2019/kube-scheduler:v1.19.9 k8s.gcr.io/kube-scheduler:v1.19.9
镜像打包
打包导入到tar包中
$ docker save -o ./images.tar webapp:1.0 nginx:1.12 mysql:5.7
导出镜像
$ docker load -i ./images.tar
配置文件
配置文件
[all]
k8s-master ansible_host=10.10.110.xxx ip=10.10.110.xxx ansible_ssh_port=666
k8s-node1 ansible_host=10.10.110.xxx ip=10.10.110.xxx ansible_ssh_port=666
k8s-node2 ansible_host=10.10.11o.xxx ip=10.10.110.xxx ansible_ssh_port=666
[kube-master]
k8s-master
[etcd]
k8s-master
k8s-node1
k8s-node2
[kube-node]
k8s-node1
k8s-node2
[calico-rr]
[k8s-cluster:children]
kube-master
kube-node
calico-rr
运行
通过对应的镜像
$ docker pull quay.io/kubespray/kubespray:v2.15.1
$ docker run --rm -it --mount type=bind,source="$(pwd)"/inventory/sample,dst=/inventory \
--mount type=bind,source="${HOME}"/.ssh/id_rsa,dst=/root/.ssh/id_rsa \
quay.io/kubespray/kubespray:v2.15.1 bash
$ ansible-playbook -i /inventory/inventory.ini --private-key /root/.ssh/id_rsa cluster.yml
运行代码
$ ansible-playbook -i /inventory/inventory.ini --private-key /root/.ssh/id_rsa cluster.yml
运行出错,删除
$ ansible-playbook -i /inventory/inventory.ini --private-key /root/.ssh/id_rsa reset.yml
查看结果
运行的结果
PLAY RECAP *************************************************************************************************************************************************************************************************
xxxxxxxxxxxx.zs : ok=391 changed=49 unreachable=0 failed=0 skipped=639 rescued=0 ignored=1
xxxxxxxxxxxx.zs : ok=391 changed=49 unreachable=0 failed=0 skipped=638 rescued=0 ignored=1
xxxxxxxxxxxx.zs : ok=525 changed=75 unreachable=0 failed=0 skipped=1079 rescued=0 ignored=2
localhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
查看
➜ ~ kubectl get nodes
NAME STATUS ROLES AGE VERSION
xxxxxxxxxxxx.zs Ready <none> 6m24s v1.19.9
xxxxxxxxxxxx.zs Ready <none> 6m25s v1.19.9
xxxxxxxxxxxx.zs Ready master 8m10s v1.19.9
出现的问题
墙
一些镜像在跑的时候国内的网络拉不上来,需要手动处理,可参考上面的处理办法,对于一些版本的镜像,在docker-hub中搜索,就能解决。
错误的配置
inventory.ini文件没有配置hostname就开始搞了,结果kubeadmin init报错
ReadString: expects \" or n, but found 1, error found in #10 byte of ...|s.local\",10,\"base-se|..., bigger context
小白学k8s(6)使用kubespray部署k8s的更多相关文章
- k8s记录-kubeam方式部署k8s
参考:https://blog.csdn.net/networken/article/details/84991940 # k8s工具部署方案 # 1.集群规划 | **服务器** | || ---- ...
- kubespray部署k8s
0.把外网的/usr/local/bin/*拷过来覆盖 1.把部署好的集群的 calicoctl cni-plugins-linux-amd64-v0.8.1.tgz kubeadm-v1.16.3- ...
- k8s重要概念及部署k8s集群(一)--技术流ken
重要概念 1. cluster cluster是 计算.存储和网络资源的集合,k8s利用这些资源运行各种基于容器的应用. 2.master master是cluster的大脑,他的主要职责是调度,即决 ...
- k8s重要概念及部署k8s集群(一)
k8s介绍 Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg).在Docker技术的基础上,为容器化的应用提供部署运行.资源调度.服务发现和动态伸缩等一系列完整功 ...
- 使用Kubeadm创建k8s集群之部署规划(三十)
前言 上一篇我们讲述了使用Kubectl管理k8s集群,那么接下来,我们将使用kubeadm来启动k8s集群. 部署k8s集群存在一定的挑战,尤其是部署高可用的k8s集群更是颇为复杂(后续会讲).因此 ...
- 使用saltstack自动部署K8S
使用saltstack自动部署K8S 一.环境准备 1.1 规划 1. 操作系统 CentOS-7.x-x86_64. 2. 关闭 iptables 和 SELinux. 3. 所有节点的主机名和 I ...
- 解决阿里云ECS下kubeadm部署k8s无法指定公网IP
背景 一般情况下,"kubeadm"部署集群时指定"--apiserver-advertise-address=<public_ip>"参数,即可在 ...
- CentOS7 部署K8S集群,最新版1.17.3-0
小白在网上找了很多关于k8s集群部署的文档,但是版本老旧,到处踩坑,终于部署成功,记录下过程. 一.准备工作 虚拟机:VMware® Workstation 15 Pro Xhell 6:Xshell ...
- kubespray续签k8s证书
查看证书过期时期 [root@node1 ~]# openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text |grep ' Not ...
- 微服务架构 - 离线部署k8s平台并部署测试实例
一般在公司部署或者真实环境部署k8s平台,很有可能是内网环境,也即意味着是无法连接互联网的环境,这时就需要离线部署k8s平台.在此整理离线部署k8s的步骤,分享给大家,有什么不足之处,欢迎指正. 1. ...
随机推荐
- 阿里云视频云「 vPaaS 」演绎了怎样的音视频应用开发「未来图景」?
vPaaS是阿里云视频云最新推出的低代码音视频应用开发产品,其中,vPaaS低代码音视频工厂,彻底打破了音视频应用的繁冗技术开发壁垒:vPaaS视频原生应用开发平台,全新定义了音视频应用的开发方式. ...
- MB52增强
一.在MB52报表中新增字段 实现如图效果 二.增强实现 MB52程序为RM07MLBS,在程序中找到定义的内表结构bestand,在最后创建隐式增强,加入增强字段,该内表为将来展示的ALV数据 设置 ...
- #1198:Farm Irrigation(DFS + 并查集)
Farm Irrigation **Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...
- 关于 Windows10升级版本后,内存占用率居高不下的解决办法
一个月前,打开系统更新,win 10 推送了 最新版本. 然后手贱点了更新. 的确一开始没觉得的有什么明显变化,但最近总觉得机子卡的卡的严重,查看了下内存,占用率居高不下. 经常才打开一两个软件内存就 ...
- 极速生成缩略图,Serverless 支撑赛事转播锁定冬奥亮点
作者 | 西流.筱姜 "北京冬奥会在开赛的第四天便成为了历史上收视最高的一届冬奥会,其转播内容总生产量将达 6000 小时,超过平昌冬奥会的 5400 小时.关注北京冬奥会的人群比往届都 ...
- SpringBoot发布https服务
一.生成SSL证书 1.进入本地jdk的路径 cd D:\Program\jdk1.8.0_77\jre\lib\security cmd窗口生成证书HSoftTiger.keystore到D盘 ke ...
- sprint-boot 存储图片的base64
需求:将前端上传的图片转换成base64码发送到后端存储到数据库中(oracle或者mysql) 问题:当图片大小比较大(大概是超过1M)后端接收到的数据就会有错误. 解决方法: sprint-bo ...
- 《3D编程模式》写书-第5次记录
大家好,这段时间我完成了对初稿的第一轮修改,即将开始第二轮的修改 这里是所有的的写书记录: <3D编程模式>写书记录 本轮修改主要进行了下面的修改: 修改错误 修改了UML错误.文字错误. ...
- JavaScriptif while for switch流程控制 JS函数 内置对象
1,if else语句 2,if else if else语句 3,switch语句 4,for循环 5,while循环 6,三元运算 7,JS中的函数 8,JS中的匿名函数 9,JS中的立即执行函数 ...
- 【Linux】技术收集
Linux进程间通信(六)---信号量通信之semget().semctl().semop()及其基础实验 https://blog.csdn.net/mybelief321/article/deta ...