K8s之二进制安装高可用集群
1.环境准备
#二进制部署安装文档# https://github.com/easzlab/kubeasz/blob/master/docs/setup/00-planning_and_overall_intro.md
Ubuntu Server
我本次环境配置:Ubuntu 7.4.0-1ubuntu1~18.04.1)
两个Master
两个Node
两个etcd:注意etcd集群需要1,3,5.....
一个Harbor服务器用于上传镜像下载镜像
基础系统配置
- 2c/4g内存/40G硬盘用于测试
- 最小化安装Ubuntu or Centos7 Minimal
- 配置基础网络,更新源,SSH登录
- 注意1:确保各节点时区设置一致、时间同步。 如果你的环境没有提供NTP 时间同步,推荐集成安装chrony
- 注意2:确保在干净的系统上开始安装,不要使用曾经装过kubeadm或其他k8s发行版的环境
- 10.0.0.140 K8s-master1
- 10.0.0.141 K8s-master2
- 10.0.0.142 K8s-node1
- 10.0.0.143 K8s-node2
- 10.0.0.144 Harbor-https
- 10.0.0.145 K8s-etcd1
- 10.0.0.146 K8s-etcd2
2.在每个节点安装依赖工具
apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y
# 安装python2
apt-get install python2.7
# Ubuntu16.04可能需要配置以下软连接
ln -s /usr/bin/python2.7 /usr/bin/python 3.部署节点安装ansible以及准备ssh免密登录
# 附上脚本
!/bin/bash
#目标主机列表
IP="
10.0.0.140
10.0.0.141
10.0.0.142
10.0.0.143
10.0.0.145
10.0.0.146 "
for node in ${IP};do
sshpass -p 1 ssh-copy-id ${node} -o StrictHostKeyChecking=no
if [ $? -eq 0 ];then
echo "${node} 秘钥copy完成"
else
echo "${node} 秘钥copy失败" fi apt-cache madison docker-ce
apt-get -y install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
systemctl start docker
# 使用工具脚本下载
./easzup -D
#生成hosts文件
# cp example/hosts.multi-node ./hosts
[kube-master]
10.0.0.140
10.0.0.141
[kube-node]
10.0.0.142
10.0.0.143
[etcd]
10.0.0.145 NODE_NAME=etcd1
10.0.0.146 NODE_NAME=etcd2
service和pod网段地址指定
SERVICE_CIDR=
CLUSTER_CIDR=
# ansible-playbook 01.prepare.yml #环境初始化
# ansible-playbook 02.etcd.yml #部署etcd
# ansible-playbook 03.docker.yml #部署docker
# ansible-playbook 04.kube-master.yml #部署k8s master
# ansible-playbook 05.kube-node.yml #部署node
# kubectl get node
NAME STATUS ROLES AGE VERSION
10.0.0.140 Ready,SchedulingDisabled master 2d21h v1.17.4
10.0.0.141 Ready,SchedulingDisabled master 2d21h v1.17.4
10.0.0.142 Ready node 2d20h v1.17.4
10.0.0.143 Ready node 2d20h v1.17.4
二进制安装安装就完成了!
K8s之二进制安装高可用集群的更多相关文章
- lvs+keepalived部署k8s v1.16.4高可用集群
一.部署环境 1.1 主机列表 主机名 Centos版本 ip docker version flannel version Keepalived version 主机配置 备注 lvs-keepal ...
- Centos7.6部署k8s v1.16.4高可用集群(主备模式)
一.部署环境 主机列表: 主机名 Centos版本 ip docker version flannel version Keepalived version 主机配置 备注 master01 7.6. ...
- kubernetes之手动部署k8s 1.14.1高可用集群
1. 架构信息 系统版本:CentOS 7.6 内核:3.10.0-957.el7.x86_64 Kubernetes: v1.14.1 Docker-ce: 18.09.5 推荐硬件配置:4核8G ...
- [K8s 1.9实践]Kubeadm 1.9 HA 高可用 集群 本地离线镜像部署
k8s介绍 k8s 发展速度很快,目前很多大的公司容器集群都基于该项目,如京东,腾讯,滴滴,瓜子二手车,北森等等. kubernetes1.9版本发布2017年12月15日,每是那三个月一个迭代, W ...
- 使用二进制的方式部署 K8S-1.16 高可用集群
一.项目介绍 项目致力于让有意向使用原生kubernetes集群的企业或个人,可以方便的.系统的使用二进制的方式手工搭建kubernetes高可用集群.并且让相关的人员可以更好的理解kubernete ...
- 部署一套完整的Kubernetes高可用集群(二进制,v1.18版)
一.前置知识点 1.1 生产环境可部署Kubernetes集群的两种方式 目前生产部署Kubernetes集群主要有两种方式: kubeadm Kubeadm是一个K8s部署工具,提供kubeadm ...
- 使用kubeadm安装kubernetes高可用集群
kubeadm安装kubernetes高可用集群搭建 第一步:首先搭建etcd集群 yum install -y etcd 配置文件 /etc/etcd/etcd.confETCD_NAME=inf ...
- .Net Core2.1 秒杀项目一步步实现CI/CD(Centos7.2)系列一:k8s高可用集群搭建总结以及部署API到k8s
前言:本系列博客又更新了,是博主研究很长时间,亲自动手实践过后的心得,k8s集群是购买了5台阿里云服务器部署的,这个集群差不多搞了一周时间,关于k8s的知识点,我也是刚入门,这方面的知识建议参考博客园 ...
- 实现CI/CDk8s高可用集群搭建总结以及部署API到k8s
实现CI/CD(Centos7.2)系列二:k8s高可用集群搭建总结以及部署API到k8s 前言:本系列博客又更新了,是博主研究很长时间,亲自动手实践过后的心得,k8s集群是购买了5台阿里云服务器部署 ...
随机推荐
- Hadoop完整搭建过程(四):完全分布模式(服务器)
1 概述 上一篇文章介绍了如何使用虚拟机搭建集群,到了这篇文章就是实战了,使用真实的三台不同服务器进行Hadoop集群的搭建.具体步骤其实与虚拟机的差不多,但是由于安全组以及端口等等一些列的问题,会与 ...
- Day04_17_常用Arrays类
常用Arrays类 Arrays.toString()方法 该方法是用来将数组中得内容转换成String类型,进行输出.入参可以是(byte,int,long,float,double,boolean ...
- Socket 多任务(多进程/线程、I/O多路复用、事件驱动开发框架)
0. 概述 1. 循环版实现多连接 2. threading.Thread 多线程 3. SockerServer 实现多任务 3.1 ForkingMixIn - 多进程(限 linux) 3.2 ...
- [VSC] HTML打叹号无法自动提示默认框架
一般的, 在 VSC 中编辑 HTML 文档时, 打一个叹号 '!', 就会提示, 可生成默认代码, 如: 采纳建议后, 是这样: 问题: 如果出现打叹号无法出现提示的情况, 首先, 请检查当前的语言 ...
- Mybatis的简单增删改查
刚开始学习Mybatis可以先看下官方文档,MyBatis是支持定制化SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis避免了几乎所有的JDBC代码和手工设置参数以及抽取结果集.MyBat ...
- vue route 跳转
index.js { path: '/grouporder/grouporderdetail/id/:id', name: '/grouporder/grouporderdetail/id/', co ...
- 针对缓冲区保护技术(ASLR)的一次初探
0x01 前言 ASLR 是一种针对缓冲区溢出的安全保护技术,通过对堆.栈.共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的的一 ...
- json的解析和生成
相比于xml,json的主要特点是数据小,解析速度快,但是描述性差. java中常见的json解析方法有Gson.Jackson.JSON.simple. 从解析速度上来看,Gson适合解析小数据量, ...
- springmvcdemo
项目点击属性 2.3 转换成2.5 已经变成一个网站项目了 报错消失 pom.xml <project xmlns="http://maven.apache.or ...
- 【java框架】SpringBoot(7) -- SpringBoot整合MyBatis
1.整合MyBatis操作 前面一篇提到了SpringBoot整合基础的数据源JDBC.Druid操作,实际项目中更常用的还是MyBatis框架,而SpringBoot整合MyBatis进行CRUD也 ...