《二》Kubernetes集群部署-搭建集群

多master集群架构图

时间必须同步、关闭防火墙、Firewalld、selinux

1、拷贝master01 中的kubernetes目录到master02上
[[email protected] ~]# scp -r /opt/kubernetes/ 192.168.1.16:/opt/

2、启动脚本
[[email protected] kubeconfig]# scp /usr/lib/systemd/system/{kube-apiserver,kube-controller-manager,kube-scheduler}.service 192.168.1.16:/usr/lib/systemd/system/

3、拷贝master01 中的etcd目录到master02上
[[email protected] ~]# scp -r /opt/etcd/ 192.168.1.16:/opt/

4、登录到master02(192.168.1.16)上修改IP配置信息
只需要修改vi /opt/kubernetes/cfg/kube-apiserver 更改为192.168.1.16

5、启动
systemctl start kube-apiserver
systemctl start kube-scheduler
systemctl start kube-controller-manager
systemctl enable kube-apiserver
systemctl enable kube-scheduler
systemctl enable kube-controller-manager

验证:

Load Balancer 安装nginx/keepalived

192.168.1.20
[[email protected] nginx]# vi /etc/yum.repos.d/nginx.repo

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0

[[email protected] nginx]# yum install nginx -y
[[email protected] nginx]# yum install keepalived -y

192.168.1.26
[[email protected] nginx]# vi /etc/yum.repos.d/nginx.repo

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0

[[email protected] nginx]# yum install nginx -y
[[email protected] nginx]# yum install keepalived -y

修改nginx配置文件
新增:
stream {

log_format main ‘$remote_addr $upstream_addr - [$time_local] $status $upstream_bytes_sent‘;
access_log /var/log/nginx/k8s-access.log main;

upstream k8s-apiserver {
    server 192.168.1.13:6443;
    server 192.168.1.16:6443;
}

server {
listen 6443;
proxy_pass k8s-apiserver;

      }

}

vi /etc/keepalived/keepalived.conf
[[email protected] ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
#接收邮件地址
notification_email {
[email protected]
[email protected]
[email protected]
}
#邮件发送地址
notification_email_from [email protected]
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id NGINX_MASTER
}

vrrp_script check_nginx {
script "/etc/nginx/check_nginx.sh"
}

vrrp_instance VI_1 {
state MASTER
interface ens33 #根据自己的网卡名字更改
virtual_router_id 51 # VRRP 路由 ID实例,每个实例是唯一的
priority 100 # 优先级,备服务器设置 90,哪个高就是主
advert_int 1 # 指定VRRP 心跳包通告间隔时间,默认1秒
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.30/24
}
track_script {
check_nginx
}
}

[[email protected] ~]# vi /etc/nginx/check_nginx.sh

count=$(ps -ef |grep nginx |egrep -cv "grep|$$")

if [ "$count" -eq 0 ];then
systemctl stop keepalived
fi

实验:
2台机都启动 nginx、keepalived服务后,在主节点上会有一个vip(192.168.1.30)
192.168.1.20
echo ‘nginx master‘ > /usr/share/nginx/html/index.html

192.168.1.26
echo ‘nginx backup‘ > /usr/share/nginx/html/index.html

验证:
访问192.168.1.30 ---》nginx master
/etc/nginx/check_nginx.sh
当把主节点的nginx关闭,pkill nginx时,keepalived会每隔1秒检测check_nginx,会执行脚本/etc/nginx/check_nginx.sh,停止掉keepalived服务,这样vip会转移到backup上去,当当把主节点的nginx,keepalived开启,vip又会回到主节点上

原文地址:http://blog.51cto.com/jacksoner/2327314

时间: 2024-10-30 08:24:03

《二》Kubernetes集群部署-搭建集群的相关文章

Mongodb集群部署以及集群维护命令

Mongodb集群部署以及集群维护命令 http://lipeng200819861126-126-com.iteye.com/blog/1919271 mongodb分布式集群架构及监控配置 http://freeze.blog.51cto.com/1846439/884925/ 见文中: 七.监控配置:      早在去年已经出现MongoDB和Redis的Cacti模板,使用它,你可以对你的MongoDB和Redis服务进行流量监控.cacti的模板一直在更新,若企业已经用到nosql这种

Kubernetes集群部署搭建(二进制包)

一. 环境规划 System Centos 7.4 Kubernetes 1.9 Docker 18.03.0-ce Etcd 3.2 Flannel 0.9 节点角色 IP 部署组件 配置 Master Node1 192.168.117.50 Kube-apiserver,   kube-controller-manager ,kube-schedule, etcd ,docker, flannel ,kubelet kube-proxy 2核2G Node2 192.168.117.60

kubernetes容器集群部署Etcd集群

安装etcd 二进制包下载地址:https://github.com/etcd-io/etcd/releases/tag/v3.2.12 [[email protected] ~]# GOOGLE_URL=https://storage.googleapis.com/etcd [[email protected] ~]# GITHUB_URL=https://github.com/coreos/etcd/releases/download [[email protected] ~]# DOWNL

Redis Cluster集群部署搭建

在Oracle的路上走了许多年,换换感觉,尝试一下新的知识,也是一个不错的感觉.Redis,一个超轻量化的内存数据库,只做一小块数据库功能实现,却非常优秀的一个产品.今天,就分享一下安装Redis集群的过程. 搭建redis集群,建议至少需要准备3台服务器,共搭建6个节点,3个master,3个slave,并且要求3个master节点不能全部跑到同一台服务器上,保证节点安全,3台服务器的配置相同,使用redistest账号搭建,对应的端口是7000/7001/7002端口 我的集群分配如下,每个

K8S(二)——K8S中部署tomcat集群

1.在k8s的搭建清楚的前提下,及所有的node均是ready状态的,方可进行一下步骤 2.查看是否有pod在运行,如果有,删除掉 kubectl get pod kubectl get deployment  3.需要准备jdk.tomcat.以及一个简单war包 JDK:链接:https://pan.baidu.com/s/1IOOsJEDTRpC3e7byOPydpA  提取码:b2c7 WAR:链接:https://pan.baidu.com/s/1cFrUldbTDmSxWYhIawx

(二 )VMware workstation 部署虚拟集群实践——并行批量操作环境部署

在上一篇博客中,已经介绍了安装虚拟集群的过程和需要注意的细节问题. 这篇主要是介绍如何批量登陆远程主机和配置,这个过程中是在没有部署并行处理工具或者集群管理工具的前进行的. ------------首次登陆-------------- 首次登陆需要解决的问题就是: 1,信任远程主机公钥的问题,也就是key_word:yes/no? 2,然后就是远程主机的密码,key_word:password: 在自动化部署过程中,需要进行免交互和免密码登陆. 1,使用expect编写免交互登陆脚本(适用于te

Hadoop zookeeper HA高可靠集群部署搭建,及错误诊断

http://archive-primary.cloudera.com/cdh5/cdh/5/ 一.准备工作1.修改Linux主机名,每台都得配置[[email protected] ~]# vim /etc/sysconfig/networkNETWORKING=yesHOSTNAME=h2012.修改IP /etc/sysconfig/network-scripts/ifcfg-eth03.修改主机名和IP的映射关系(h24,h25为主,h21,h22,h23为从)[[email prote

kubernetes 基础-安装部署etcd集群

HDSS7-200上: ~]# wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 -O /usr/bin/cfssl ~]# wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 -O /usr/bin/cfssl-json ~]# wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 -O /usr/bin/cfssl-cert

大数据之一:Hadoop2.6.5+centos7.5三节点大数据集群部署搭建

一. VM虚拟环境搭建(详细讲解) 说明:在windos10上使用VmWare Workstation创建3节点Hadoop虚拟环境创建虚拟机下一步设置虚拟机主机名和介质存放路径设置20G磁盘大小选择"自定义硬件"配置网络模式为NAT模式配置虚拟机启动镜像到这里,使用虚拟机克隆技术配置另外两台slave 同理克隆slave2, 步骤省略 此时windos网络连接里面会出现两张虚拟网卡 接下来就是给虚拟机配置IP网络 虚拟机网卡IP要和NAT模式的IP是在同一个段,虚拟机才能通过wind