kubeadm安装kubernetes高可用集群搭建 
第一步:首先搭建etcd集群
yum install -y etcd
配置文件 /etc/etcd/etcd.confETCD_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关闭SELinuxsetenforce 0sed -i -e 's/SELINUX=enforcing/SELINUX=disable/g' /etc/sysconfig/selinux安装dockeryum install -y docker#镜像包etcd-amd64_v3.1.11flannel:v0.9.1-amd64_1.14.7k8s-dns-dnsmasq-nanny-amd64_1.14.7k8s-dns-sidecar-amd64_1.14.7kube-apiserver-amd-v1.9.2kube-controller-manager-amd64-v1.9.2kube-proxy-amd64-v1.9.2kube-scheduler-amd64-v1.9.2pause-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

使用kubeadm安装kubernetes高可用集群相关推荐

  1. 二进制安装Kubernetes 高可用集群

    一.集群规划 k8s-master1 10.0.19.127 kube-apiserver,kube-controller-manager,kube-scheduler,etcd k8s-master ...

  2. Kubeadm安装k8s高可用集群实战

    请不要使用带中文的服务器和克隆的虚拟机! 文档中的IP地址请统一替换,不要一个一个替换! 一.集群安装网段划分 集群安装时会涉及到三个网段: 宿主机网段:就是安装k8s的服务器 Pod网段:k8s P ...

  3. 容器编排——Kubeadm在线或离线搭建kubernetes高可用集群

    目录 1.架构简介: 2.集群架构图: 3.集群服务器: 4.修改主机名称: 5.修改hosts配置文件: 6.关闭selinux: 7.关闭防火墙: 8.关闭swap: 9.设置iptables网桥 ...

  4. 二进制方式搭建Kubernetes高可用集群(超丰富的组件概念理论总结)

    二进制方式部署Kubernetes高可用集群 文章目录 二进制方式部署Kubernetes高可用集群 1.环境准备 1.1.Kubernetes高可用集群部署方式 1.2.Kubernetes集群弃用 ...

  5. docker 如何加入kubernetes_使用 Kind 在 5 分钟内快速部署一个 Kubernetes 高可用集群...

    什么是 Kind Kind(Kubernetes in Docker) 是一个Kubernetes孵化项目,Kind是一套开箱即用的Kubernetes环境搭建方案.顾名思义,就是将Kubernete ...

  6. 一键部署Kubernetes高可用集群

    三台master,四台node,系统版本为CentOS7 IP ROLE 172.60.0.226 master01 172.60.0.86 master02 172.60.0.106 master0 ...

  7. a32.ansible 生产实战案例 -- 基于kubeadm安装kubernetes v1.22 -- 集群部署(一)

    源码下载地址:https://github.com/raymond999999/kubernetes-ansible 1.高可用Kubernetes集群规划 角色 机器名 机器配置 ip地址 安装软件 ...

  8. a24.ansible 生产实战案例 -- 基于kubeadm安装kubernetes v1.20 -- 集群部署(一)

    源码下载地址:https://github.com/raymond999999/kubernetes-ansible 1.高可用Kubernetes集群规划 角色 机器名 机器配置 ip地址 安装软件 ...

  9. Kubernetes 高可用集群部署

    原文链接:https://www.cpweb.top/2396 一.环境 Kubernetes 3个节点都为 master 角色,高可用方案采用 keepalived + haproxy,如果服务器在 ...

最新文章

  1. REDIS 高可用性部署架构图
  2. MaxCompute(原ODPS) Studio 2.7.0 版本发布,让代码效率更高
  3. python json loads 中文乱码_python实现智能语音天气预报
  4. UI实用素材模板|天气应用app的ui设计
  5. 怎样知道别人在蹭我家wifi?
  6. JQuery中如何动态修改input的type属性
  7. 遍历数组的两种for循环方式以及一种Arrays方式
  8. hightopo学习之旅一 -- 节点动画
  9. 一些软件工程的基础知识
  10. 小程序和app究竟哪个好?
  11. windows IIS Web服务器 发布网站
  12. python Crypto.Cipher
  13. 智能跳过节假日算法java_java计算两个日期之间的天数,排除节假日和周末
  14. ipip.net IP位置信誉信息爬取
  15. CentOS升级PHP到8.0
  16. c语言短信猫开发代码
  17. 计算机硬件报警声音,有关电脑发出警报声的.
  18. FXS(le88266)工作原理介绍
  19. 2022新版妹子写真网站源码+UI非常精美
  20. vue通过笛卡儿积实现sku库存配置

热门文章

  1. pyecharts怎么绘制散点图_pyecharts可视化和wx的结合
  2. 苹果平板怎么卸载软件_怎么很好的卸载流氓软件!
  3. python生成器 图片分类_Python内置类型(6)——生成器
  4. php实时上传多张图片,PHP实现多张图片上传预览功能
  5. 2018.9.13,物理仿真实验作业1:测量结果的表示
  6. 震惊! Rightmost Digit 快速幂解决
  7. python画害羞的表情_用Python把你的朋友变成表情包
  8. android radiogroup 获取点击位置_屏幕连点器,解放双手[Android]
  9. 空闲队列函数排队 requestIdleCallback
  10. Redis和数据库的结合