使用kubeadm安装kubernetes高可用集群

kubeadm安装kubernetes高可用集群搭建 
第一步:首先搭建etcd集群
yum install -y etcd
配置文件 /etc/etcd/etcd.conf
ETCD_NAME=infra1 ETCD_DATA_DIR="/var/lib/etcd" ETCD_LISTEN_PEER_URLS="https://172.20.0.113:2380" ETCD_LISTEN_CLIENT_URLS="https://172.20.0.113:2379"#[cluster] ETCD_INITIAL_ADVERTISE_PEER_URLS="https://172.20.0.113:2380" ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster" ETCD_ADVERTISE_CLIENT_URLS="https://172.20.0.113:2379,http://127.0.0.1:2379"
#配置集群IP
ETCD_INITIAL_CLUSTER="infra1=http://172.20.0.113:2380,infra2=http://172.20.0.114:2380,infra3=http://172.20.0.115:2380"
第二步:安装keepalived虚拟IP代理
yum install -y keepalived
# 添加以下内容
net.ipv4.ip_forward = 1
net.ipv4.ip_nonlocal_bind = 1# 验证并生效
$ sysctl -p
# 验证是否生效
$ cat /proc/sys/net/ipv4/ip_forward

配置文件 /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {notification_email {}router_id <cluster-difference-name>
}
vrrp_script check_haproxy {# 自身状态检测script "killall -0 haproxy"interval 3weight 5
}
vrrp_instance haproxy-vip {# 使用单播通信,默认是组播通信unicast_src_ip 192.168.1.137unicast_peer {192.168.1.138}# 初始化状态state MASTER(BACKUP)# 虚拟ip 绑定的网卡 (这里根据你自己的实际情况选择网卡)interface eth0# 此ID 要与Backup 配置一致virtual_router_id 51<cluster id same># 默认启动优先级,要比Backup 大点,但要控制量,保证自身状态检测生效priority 100 advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {# 虚拟ip 地址192.168.1.139}track_script {check_k8s}
}
virtual_server 192.168.1.139 80 {delay_loop 5lvs_sched wlclvs_method NATpersistence_timeout 1800protocol TCPreal_server 192.168.1.137 80 {weight 1TCP_CHECK {connect_port 80connect_timeout 3}}
}virtual_server 192.168.1.139 443 {delay_loop 5lvs_sched wlclvs_method NATpersistence_timeout 1800protocol TCPreal_server 192.168.1.137 443 {weight 1TCP_CHECK {connect_port 443connect_timeout 3}}
}
第三步:安装docker、准备必要镜像
关闭防火墙
systemctl stop firewalld
关闭SELinux
setenforce 0
sed -i -e 's/SELINUX=enforcing/SELINUX=disable/g' /etc/sysconfig/selinux
安装docker
yum install -y docker
#镜像包
etcd-amd64_v3.1.11
flannel:v0.9.1-amd64_1.14.7
k8s-dns-dnsmasq-nanny-amd64_1.14.7
k8s-dns-sidecar-amd64_1.14.7
kube-apiserver-amd-v1.9.2
kube-controller-manager-amd64-v1.9.2
kube-proxy-amd64-v1.9.2
kube-scheduler-amd64-v1.9.2
pause-amd64_3.0

第四步:配置kubeadm-config.yaml
apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
api:advertiseAddress: 192.168.4.24
etcd:endpoints:- http://192.168.4.24:2379- http://192.168.4.25:2379- http://192.168.4.26:2379
imageRepository: k8s.gcr.io #配置私有仓库
networking: podSubnet: 10.1.0.0/16 #和flanneld的网段一致
apiServerCertSANs:
    - 192.168.4.24
    - 192.168.4.25
    - 192.168.4.26
    - 192.168.4.27
    - 192.168.4.40
apiServerExtraArgs:
   endpoint-reconciler-type: lease EOL ##初始化kubernetes集群
kubeadm init --config kubeadm-config.yaml

注意:如果flanneld使用服务安装则需要添加
etcdctl --endpoints=https://172.20.0.113:2379,https://172.20.0.114:2379,https://172.20.0.115:2379 \--ca-file=/etc/kubernetes/ssl/ca.pem \--cert-file=/etc/kubernetes/ssl/kubernetes.pem \--key-file=/etc/kubernetes/ssl/kubernetes-key.pem \mkdir /kube-centos/network

etcdctl --endpoints=https://172.20.0.113:2379,https://172.20.0.114:2379,https://172.20.0.115:2379 \--ca-file=/etc/kubernetes/ssl/ca.pem \--cert-file=/etc/kubernetes/ssl/kubernetes.pem \--key-file=/etc/kubernetes/ssl/kubernetes-key.pem \mk /kube-centos/network/config '{"Network":"172.30.0.0/16","SubnetLen":24,"Backend":{"Type":"vxlan"}}'
 错误NetworkPlugin cni failed to set up pod
停掉集群删除flannel,避免网络污染
  rm -rf /var/lib/cni/flannel/* && rm -rf /var/lib/cni/networks/cbr0/* && ip link delete cni0 
  rm -rf /var/lib/cni/networks/cni0/*

转载于:https://www.cnblogs.com/Javaknowledge/p/10520022.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/569657.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯第七届国赛JAVA真题----平方末尾

平方末尾 能够表示为某个整数的平方的数字称为“平方数” 比如&#xff0c;25,64 虽然无法立即说出某个数是平方数&#xff0c;但经常可以断定某个数不是平方数。 因为平方数的末位只可能是&#xff1a;[0, 1, 4, 5, 6, 9] 这6个数字中的某个。 所以&#xff0c;432543533…

紫书 团队队列(队列)

1.用两个队列来维护成员&#xff0c;一个队列维护队伍编号&#xff0c;一个队列数组维护每个队伍的成员 ps: 紫书p118 #include <bits/stdc.h> using namespace std;int t, k, x, y; queue<int> allq; queue<int> q[12]; vector<int> v; string s1&quo…

蓝桥杯第七届国赛JAVA真题----七星填数

七星填数 如图【图1.png】所示。 在七角星的14个节点上填入1~14 的数字&#xff0c;不重复&#xff0c;不遗漏。 要求每条直线上的四个数字之和必须相等。 图中已经给出了3个数字。 请计算其它位置要填充的数字&#xff0c;答案唯一。 填好后&#xff0c;请提交绿色节点的4个…

Codeforces Round 546 (Div. 2)

layout: post title: Codeforces Round 546 (Div. 2) author: "luowentaoaa" catalog: true tags: mathjax: true - codeforces - 贪心 - 数学 - 线段树 传送门 A - Nastya Is Reading a Book (签到) 题意 给出每一章的页数范围&#xff0c;然后告诉你当前看到那一页…

洛谷 P1219 ---- 八皇后

题目描述 检查一个如下的6 x 6的跳棋棋盘&#xff0c;有六个棋子被放置在棋盘上&#xff0c;使得每行、每列有且只有一个&#xff0c;每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。 上面的布局可以用序列2 4 6 1 3 5来描述&#xff0c;第i个数字表示在第i行…

PXE(preboot execution environment):【网络】预启动执行环节:引导 live光盘 ubuntu livecd 16.4:成功...

default menu.c32label ubuntu menu label ubuntu (version 16.04) kernel ub1604/casper/vmlinuz append root/dev/nfs bootcasper netbootnfs nfsroot192.168.56.1:/e/_temp/ub1604 initrdub1604/casper/initrd quiet splash --# 关键是搭建nfs相应的服务器器并export解压后的…

PHP实现多文件上传

PHP文件上传流程 单击提交按钮&#xff0c;浏览器用户将包含上传文件的表单数据提交给PHP处理程序Web服务器和PHP预处理器首先判断表单数据的大小是否超过php.ini配置文件中的post_max_size选项设置的上限值。 若超过&#xff0c;PHP处理程序将无法得到任何表单数据&#xff0…

bzoj5324:[Jxoi2018]守卫

传送门 首先考虑定下一个端点&#xff0c;然后剩下的就可以递推了 一开始想的是定下左端点&#xff0c;然后预处理出位置最远能看到的位置&#xff0c;后来发现时间GG了 看题解发现定右端点优秀得多 记录下当前\(r\)最远能看到的位置\(p\)&#xff0c;能看到\([p,r]\)一共需要几…

蓝桥杯第八届省赛JAVA真题----分巧克力

标题&#xff1a; 分巧克力 儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。 小明一共有N块巧克力&#xff0c;其中第i块是Hi x Wi的方格组成的长方形。 为了公平起见&#xff0c;小明需要从这 N 块巧克力中切出K块巧克力分给小朋友们。切出的巧克…

蓝桥杯第八届省赛JAVA真题----油漆面积

标题&#xff1a;油漆面积 X星球的一批考古机器人正在一片废墟上考古。 该区域的地面坚硬如石、平整如镜。 管理人员为方便&#xff0c;建立了标准的直角坐标系。 每个机器人都各有特长、身怀绝技。它们感兴趣的内容也不相同。 经过各种测量&#xff0c;每个机器人都会报告…

练习2——顺序表

//实现顺序表基本功能&#xff0c;然两个顺序表相并 #include <iostream> #include <stdlib.h> using namespace std; typedef int T; class SeqList{T *data;int MaxSize;int last; public:SeqList(int sz);~SeqList(){delete [] data;}int Length() const {retur…

docker占满linux磁盘根目录的解决办法

一、磁盘根目录被占满 [testlocalhost docker]$ df -lh Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 50G 50G 0G 100% / devtmpfs 7.7G 0 7.7G 0% /dev tmpfs 7.8G 0 7.8G 0…

蓝桥杯第八届省赛JAVA真题----包子凑数

标题&#xff1a;包子凑数 小明几乎每天早晨都会在一家包子铺吃早餐。他发现这家包子铺有N种蒸笼&#xff0c;其中第i种蒸笼恰好能放Ai个包子。每种蒸笼都有非常多笼&#xff0c;可以认为是无限笼。 每当有顾客想买X个包子&#xff0c;卖包子的大叔就会迅速选出若干笼包子来&…

蓝桥杯第八届省赛JAVA真题----字母组串

标题&#xff1a;字母组串 由 A,B,C 这3个字母就可以组成许多串。 比如&#xff1a;”A”,”AB”,”ABC”,”ABA”,”AACBB” …. 现在&#xff0c;小明正在思考一个问题&#xff1a; 如果每个字母的个数有限定&#xff0c;能组成多少个已知长度的串呢&#xff1f; 他请好…

蓝桥杯第八届省赛JAVA真题----9数算式

标题&#xff1a;9数算式 观察如下的算式&#xff1a; 9213 x 85674 789314562 左边的乘数和被乘数正好用到了1~9的所有数字&#xff0c;每个1次。 而乘积恰好也是用到了1~9的所有数字&#xff0c;并且每个1次。 请你借助计算机的强大计算能力&#xff0c;找出满足如上要…

《剑指offer》第五十三题(数组中数值和下标相等的元素)

// 面试题53&#xff08;三&#xff09;&#xff1a;数组中数值和下标相等的元素 // 题目&#xff1a;假设一个单调递增的数组里的每个元素都是整数并且是唯一的。请编程实 // 现一个函数找出数组中任意一个数值等于其下标的元素。例如&#xff0c;在数组{-3, -1, // 1, 3, 5}中…

Mysql 外键创建失败原因

最近在学习PHP&#xff0c;在用mysql创建表的时候总是创建不出来&#xff0c;我用的是Navicat做的&#xff0c;虽然建不出来外键&#xff0c;但是会创建出来一个索引&#xff0c;后来才明白&#xff0c;一定要有了对应的索引才能创建外键。

shiro(1) 介绍

一、什么是shiro&#xff08;1&#xff09;属性&#xff1a;java框架&#xff08;2&#xff09;用途&#xff1a;身份验证、用户授权、加密、会话管理&#xff08;3&#xff09;优点&#xff1a;轻量、易用二、三大组件&#xff08;1&#xff09;subject&#xff1a;代表当前主…

PHP实现简单注册登录系统

目录结构如下&#xff0c;其中function文件夹下包含两个函数文件&#xff0c;uploads文件夹用于存放上传的文件。 注&#xff1a;博主使用的是php5&#xff0c;使用php7的小伙伴运行报错的话有一部分原因是新的语法造成的&#xff0c;修改成新语法就可以了 html页面 登录页面…

代码审计中的文件包含漏洞

0x00 背景 文件包含漏洞是php语言的一大特性。文件包含的意思是&#xff0c;服务器在执行PHP文件时&#xff0c;可以通过文件包含函数加载另一个文件中的PHP代码并执行&#xff0c;这会为开发者节省大量的时间。而文件包含漏洞的出现在于服务器没有对要包含的来源文件进行审查&…