ansible二进制部署kubernetes集群
kubernetes版本1.21.5
需要的资源文件请自行到我的阿里云盘下载 https://www.aliyundrive.com/s/zVegF78ATDV
修改主机信息
#根据自己的主机信息自行修改
vim sshkeygen.sh
#!/usr/bin/env bash
yum -y install ansible &>/dev/null
ansible_dir=$(pwd)/ansible
if [ $? -eq 0 ]; then
echo "ansible安装成功"
cp -r ${ansible_dir} /etc/
else
echo "ansible安装失败"
fi
cat <<EOF
##############################################
#
# 此脚本只适合高可用kubernetes集群(三节点)
# 请准备三个或三个以上节点
# 请保持可以访问外网
## 想要更多节点请自行添加
###############################################
EOF
#ansible主机配置
cat > hosts <<EOF
#证书创建节点
[k8spem]
192.168.77.131 ansible_ssh_user=root ansible_ssh_pass=123.com
#kubernetes 主节点高可用
[k8smaster]
192.168.77.131 ansible_ssh_user=root ansible_ssh_pass=123.com
192.168.77.132 ansible_ssh_user=root ansible_ssh_pass=123.com
192.168.77.133 ansible_ssh_user=root ansible_ssh_pass=123.com
[k8snode]
192.168.77.181 ansible_ssh_user=root ansible_ssh_pass=123.com
192.168.77.182 ansible_ssh_user=root ansible_ssh_pass=123.com
192.168.77.183 ansible_ssh_user=root ansible_ssh_pass=123.com
#包含主机
[k8s:children]
k8smaster
EOF
rpm -qa | grep ansible
if [ $? -eq 0 ]; then
cp hosts ansible/hosts
fi
#请自行修改主机信息
#前三个ip and hostname 是master节点
cat > kubernetes_IP.txt <<EOF
kubeapiserver: "192.168.77.120"
hight_master01_ip: "192.168.77.131"
hight_master02_ip: "192.168.77.132"
hight_master03_ip: "192.168.77.133"
hight_node01_ip: "192.168.77.181"
hight_node02_ip: "192.168.77.182"
hight_node03_ip: "192.168.77.183"
EOF
cat > kubernetes_hostname.txt <<EOF
hight_master01_hostname: "estarhaohao-centos7-master01"
hight_master01_hostname: "estarhaohao-centos7-master01"
hight_master01_hostname: "estarhaohao-centos7-master01"
hight_node01_hostname: "estarhaohao-centos7-node01"
hight_node02_hostname: "estarhaohao-centos7-node02"
hight_node03_hostname: "estarhaohao-centos7-node03"
EOF
#以上是node节点ip and hostname
# 想要更多节点请自行添加
cat kubernetes_IP.txt | while read line
do
for dir in $( ls -l | grep k8s | awk '{print $9}' )
do
echo $line >> $dir/vars/main.yml
done
done
cat kubernetes_hostname.txt | while read line
do
for dir in $( ls -l | grep k8s | awk '{print $9}' )
do
echo $line >> $dir/vars/main.yml
done
done
部署
#等待部署完成即可使用
ansible-playbook role.yml
ansible二进制部署kubernetes集群的更多相关文章
- 二进制部署 Kubernetes 集群
二进制部署 Kubernetes 集群 提供的几种Kubernetes部署方式 minikube Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernet ...
- 二进制部署kubernetes集群(上篇)
1.实验架构 1.1.硬件环境 准备5台2c/2g/50g虚拟机,使用10.4.7.0/24 网络 .//因后期要直接向k8s交付java服务,因此运算节点需要4c8g.不交付服务,全部2c2g足够. ...
- 二进制部署kubernetes集群(下篇)
1.k8S核心资源管理方法 1.1.陈述式资源管理方法 1.1.1.管理名称空间资源 1.1.1.1.查看名称空间 [root@hdss7-21 ~]# kubectl get namespace N ...
- 二进制部署kubernetes集群_kube-apiserver提示"watch chan error: etcdserver: mvcc: required revision has been compacted'
查看kube-apiserver状态 [root@yxz-cluster01 ~]# systemctl status kube-apiserver -l ● kube-apiserver.servi ...
- 使用Kubespray部署Kubernetes集群
转载请标明出处: http://blog.csdn.net/forezp/article/details/82730382 本文出自方志朋的博客 Kubespray是Google开源的一个部署生产级别 ...
- 二进制包部署Kubernetes集群
今天这篇文章教给大家如何快速部署一套Kubernetes集群.K8S集群部署有几种方式:kubeadm.minikube和二进制包.前两者属于自动部署,简化部署操作,我们这里强烈推荐初学者使用二进制包 ...
- 和我一步步部署 kubernetes 集群
和我一步步部署 kubernetes 集群 本系列文档介绍使用二进制部署最新 kubernetes v1.6.1 集群的所有步骤,而不是使用 kubeadm 等自动化方式来部署集群: 在部署的过程中, ...
- CentOS上手工部署kubernetes集群
本文完全是根据二进制部署kubernets集群的所有步骤,同时开启了集群的TLS安全认证. 环境说明 在下面的步骤中,我们将在三台CentOS系统的物理机上部署具有三个节点的kubernetes1.7 ...
- kubeadm部署Kubernetes集群
Preface 通过kubeadm管理工具部署Kubernetes集群,相对离线包的二进制部署集群方式而言,更为简单与便捷.以下为个人学习总结: 两者区别在于前者部署方式使得大部分集群组件(Kube- ...
随机推荐
- 关于spring MVC 绑定json字符串与实体类绑定
1 如果前台传json字符串,后台用@RequestBody 接收 前端 "content-Type":"application/json", 2 前台用fo ...
- Promise、Generator、Async有什么区别?
前言 我们知道Promise与Async/await函数都是用来解决JavaScript中的异步问题的,从最开始的回调函数处理异步,到Promise处理异步,到Generator处理异步,再到Asyn ...
- JDBC 操作预编译语句中LIKE模糊匹配怎么用
问题描述 在使用JDBC 预编译执行语句时,遇到一个问题,那就是在含有LIKE的查询语句时,我到底怎么使用匹配符%._呢. 如: SELECT * FROM "+LQ_USERS+" ...
- NSString为何要用copy修饰,而不是strong?
NSString本身是无所谓的,但是如果一个 NSString 指针指向了一个 NSMutableString的内存空间的话,如果使用 strong 修饰的话,如果你在别处修改这个值的话,那么原来的值 ...
- Protocol基本概念
1.protocol 基本概念 Protocol翻译过来, 叫做"协议" 在写java的时候都会有接口interface这个概念,接口就是一堆方法的声明没有实现,而在OC里面Int ...
- onclick="func()"和 onclick = "return func()"区别
onclick="func()" 表示只会执行 func , 但是不会传回 func 中之回传值onclick = "return func()" 则是 执行 ...
- MySQL 日志管理及备份与恢复
MySQL 日志管理及备份与恢复 1.日志管理 2.备份与恢复 1.日志管理: MySQL的默认日志保存位置为/usr/local/mysql/data 日志开启方式有两种:通过配置文件或者是通过命令 ...
- linux_3
1.统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来 [root@lhq ~]#echo "total:`cat /etc/pa ...
- like使用索引如何避免失效
1 准备数据 1.1 建表 DROP TABLE IF EXISTS staff; CREATE TABLE IF NOT EXISTS staff ( id INT PRIMARY KEY auto ...
- 使用JS简单实现一下apply、call和bind方法
使用JS简单实现一下apply.call和bind方法 1.方法介绍 apply.call和bind都是系统提供给我们的内置方法,每个函数都可以使用这三种方法,是因为apply.call和bind都实 ...