(2)二进制文件方式部署Kubernetes高可用集群----------部署环境准备
目录
1 环境准备
1.1集群节点说明
1.2 主机关联设置
1.3网络环境设置
1.4集群详情
1.5 部署步骤
1.6 注意事项
1 环境准备
1.1集群节点规划
K8S对底层机器只有三点要求:
一是正确的操作系统,Ubuntu 16.04 / Debian9/CentOS 7/RHEL7/Fedora 25 / HypriotOS v1.0.1 其中一个都可以。比较常见的是Ubuntu或者CentOs。
二是硬件配置要求你至少有1GB的内存。
三是网络上要求集群里的节点之间网络互通。
只要满足这三个要求,无论是虚拟机、物理机还是云主机都是可以的。
对于集群节点规划,因为前期规划失误,导致后期各种返工,比较耗时。这是一个教训,我们再搭建集群之前一定要提交做好集群节点规划工作。
本文中的 etcd 集群、master 节点、node节点均使用下面这三台机器。
hostname | IP地址 | 节点说明 | 虚拟机 | 组件配置 |
master01 | 192.168.72.143 | 主节点(复用节点) | CentOS 7.2\CPU:2G\内存:2G\硬盘:20G | etcd、kube-apiserver、kube-controller-manager、kube-scheduler、kubelet、kube-proxy、docker |
master02 | 192.168.72.144 | 主节点 | CentOS 7.2\CPU:2G\内存:2G\硬盘:20G | etcd、kube-apiserver、kube-controller-manager、kube-scheduler、docker |
master03 | 192.168.72.145 | 主节点 | CentOS 7.2\CPU:2G\内存:2G\硬盘:20G | etcd、kube-apiserver、kube-controller-manager、kube-scheduler、docker |
因为误删除操作,上面三台机器环境后来经过重新搭建,IP地址已发生变化,依次变更为: 192.168.0.143 master01 192.168.0.144 master02 192.168.0.145 master03 |
||||
集群虚IP | ||||
VIP | 192.168.0.140 |
1.2 主机关联设置
【1】分别设置三台机器的永久主机名称,然后重新登录
# sudo hostnamectl set-hostname master01 # sudo hostnamectl set-hostname master02 # sudo hostnamectl set-hostname master03 |
【2】修改 /etc/hostname 文件,添加主机名和 IP 的对应关系
# vim /etc/hosts 192.168.72.143 master01 192.168.72.144 master02 192.168.72.145 master03 |
1.3网络环境设置
关闭网络管理服务
#systemctl stop NetworkManager.service
#systemctl disable NetworkManager.service
关闭防火墙
#systemctl disable firewalld
#systemctl stop firewalld
关闭SELinux
#vi etc/selinux/config
SELINUX=disabled
iptables策略配置
安装iptables.service #yum install -y iptables-services 添加策略: #vi /etc/sysconfig/iptables 新增以下端口: -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 2379 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 2380 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 10250 -j ACCEPT 注释掉这俩行: -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited 新增这两行: -A INPUT -j ACCEPT -A FORWARD -j REJECT 重启防火墙配置生效 systemctl restart iptables.service 设置防火墙开机启动 systemctl enable iptables.service |
1.4集群详情
Kubernetes 1.14.0
Docker 3.18.09(yum安装)
Etcd 3.3.12
Flanneld 0.7 vxlan网络
TLS认证通信(所有组件,如etcd、kubernetes master和node)
RBAC授权
kublet TSL BoostStrapping
kubedns、dashboard、heapster\EFK集群插件
私有docker镜像仓库harbor
1.5 部署步骤
由于启用了TLS双向认证、RBAC授权等严格的安全机制,建议从头开始部署,而不要从中间开始,否则可能会认证、授权等失败!部署过程中需要有很多证书的操作,一定耐心操作。
※【1】创建TLS证书和密钥
※【2】创建kubeconfig文件
※【3】创建高可用etcd集群
※【4】安装kubectl命令行工具
※【5】部署master节点
※【6】部署node节点
※【7】安装kubedns插件
※【8】安装dashboadr插件
※【9】安装healster插件
※【10】安装EFK插件
1.6 注意事项
【1】由于启用了 TLS 双向认证、RBAC 授权等严格的安全机制,建议从头开始部署,而不要从中间开始,否则可能会认证、授权等失败!
【2】部署过程中需要有很多证书的操作,请大家耐心操作
【3】该部署操作仅是搭建成了一个可用 kubernetes 集群,而很多地方还需要进行优化,heapster 插件、EFK 插件不一定会用于真实的生产环境中,但是通过部署这些插件,可以让大家了解到如何部署应用到集群上。
【4】自定义部署kubernetes时,如果想直接使用可执行程序命令,则需要配置环境变量:
export PATH=/opt/kubernetes/bin:$PATH
【5】所有组件均需要以下4个步骤:
(1)将kubernetes的二进制可执行文件复制到/opt/kubernetes/bin路径目录下
(2)创建systemd service启动服务文件,存放到/usr/lib/systemd/system路径目录下
(3)创建service中对应的配置参数文件,存放到/opt/kubernetes/config路径目录下
(4)生成的证书和秘钥,存放到/opt/kubernetes/ssl路径目录下
(5)将应用加入到开机启动项,并依次启动
systemctl daemon-reload
systemctl enable etcd
systemctl start etcd
systemctl enable kube-apiserver.service
systemctl start kube-apiserver.service
systemctl enable kube-controller-manager.service
systemctl start kube-controller-manager.service
systemctl enable kube-scheduler.service
systemctl start kube-scheduler.service
下载:wget https://github.com/kubernetes/kubernetes/releases/download/v1.14.3/kubernetes.tar.gz
从下面的地址下载kubernetes-server-linux-amd64.tar.gz
https://storage.googleapis.com/kubernetes-release/release/v1.14.3
(2)二进制文件方式部署Kubernetes高可用集群----------部署环境准备相关推荐
- 二进制方式搭建Kubernetes高可用集群(超丰富的组件概念理论总结)
二进制方式部署Kubernetes高可用集群 文章目录 二进制方式部署Kubernetes高可用集群 1.环境准备 1.1.Kubernetes高可用集群部署方式 1.2.Kubernetes集群弃用 ...
- 一键部署Kubernetes高可用集群
三台master,四台node,系统版本为CentOS7 IP ROLE 172.60.0.226 master01 172.60.0.86 master02 172.60.0.106 master0 ...
- kubespray容器化部署kubernetes高可用集群
一.基础环境 docker版本1.12.6 CentOS 7 1.准备好要部署的机器 IP ROLE 172.30.33.89 k8s-registry-lb 172.30.33.90 k8s-mas ...
- Kubernetes 高可用集群部署
原文链接:https://www.cpweb.top/2396 一.环境 Kubernetes 3个节点都为 master 角色,高可用方案采用 keepalived + haproxy,如果服务器在 ...
- Hadoop部署方式-高可用集群部署(High Availability)
Hadoop部署方式-高可用集群部署(High Availability) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客的高可用集群是建立在完全分布式基础之上的,详情请参 ...
- ansible-playbook部署K8S高可用集群
通过ansible-playbook,以Kubeadm方式部署K8S高可用集群(多主多从). kubernetes安装目录: /etc/kubernetes/KubeConfig: ~/.kube/c ...
- Helm部署rancher 高可用集群
Helm部署rancher 高可用集群 Helm简介 Helm是Kubernetes的一个包管理工具,用来简化Kubernetes应用的部署和管理.可以把Helm比作CentOS的yum工具. Hel ...
- Mysql数据库(十一)——MHA高可用集群部署及故障切换
Mysql数据库(十一)--MHA高可用集群部署及故障切换 一.MHA概述 二.MHA的组成 三.MHA的特点 四.案例环境 1.服务器配置 2.思路 3.关闭防火墙和安全机制,并进行主从配置 4.配 ...
- 干货 | 数据不丢失?有它就够了——金仓KingbaseES高可用集群部署
可用性是数据库的重要指标之一,高可用集群是保障数据不丢失.服务可用的主要措施之一.下面将从部署维度阐晰金仓数据库KingbaseES如何打造高可用集群. 高可用架构基础 实践中,通常让多个数据库服务器 ...
- 部署Redis高可用集群
目录 部署Redis高可用集群 Redis集群环境 拓扑结构 IP地址 环境准备 工作原理 创建Redis集群 部署管理主机 redis-trib.rb脚本 redis服务器开启集群功能 管理主机创建 ...
最新文章
- 的函数原型_相信我,跟着这个文章学习JS原型,你一定能看得懂
- centos中的mysql安装配置,Linux下安装配置MySQL
- Flutter实战视频-移动电商-59.购物车_计算商品价格和数量
- Single Number
- memchace监控统计
- ibm java_IBM i 上Java 虚拟机简介
- 头部数据人才24小时图鉴
- Spring系列(六):@Conditional注解用法介绍
- iOS 开发线程 gcd
- 如何拯救「大泥球」架构?人人车Android客户端架构演进实录
- java实现小写金额转换大写金额
- 3D点云深度学习综述
- 手机话费充值api接口 话费充值功能接入
- 安装miktex+winedit
- 利用树莓派搭建校园网种子站
- 冒泡法排序(从小到大)
- AD7606系列ADC的相关内容
- 创建型设计模模式---原型模式
- python pyqtgraph绘图库-绘制图形
- 转:Redis监控技巧