k8s高可用多节点master搭建_k8s master节点数量_王Sir_yt的博客-程序员宝宝

技术标签: kubernetes  运维  k8s  

建议master数量为奇数个(本章以测试为主,双节点测试,可以加相应IP)搭建环境请参照之前文章

架构:

master1    10.194.28.104

master2    10.194.28.110

虚拟ip       10.194.28.222

<1> 节点安装 keepalived

yum install -y socat keepalived ipvsadm conntrack

<2> 配置

[[email protected] ~]# cat /etc/keepalived/keepalived.conf

global_defs {
   router_id LVS_DEVEL
}
vrrp_instance VI_1 {
    state BACKUP
    nopreempt
    interface ens192
    virtual_router_id 80
    priority 100        #优先级
    nopreempt
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass just0kk
    }
    virtual_ipaddress {
        10.194.28.222
    }
}
virtual_server 10.194.28.222 6443 {
    delay_loop 6
    lb_algo loadbalance
    lb_kind DR
    net_mask 255.255.252.0
    persistence_timeout 0
    protocol TCP
    real_server 10.194.28.104 6443 {
        weight 1
        SSL_GET {
            url {
              path /healthz
              status_code 200
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
    real_server 10.194.28.110 6443 {
        weight 1
        SSL_GET {
            url {
              path /healthz
              status_code 200
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

[[email protected] ~]# cat /etc/keepalived/keepalived.conf

global_defs {
   router_id LVS_DEVEL
}
vrrp_instance VI_1 {
    state BACKUP
    nopreempt
    interface ens192
    virtual_router_id 80
    priority 50                   #优先级
    nopreempt
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass just0kk
    }
    virtual_ipaddress {
        10.194.28.222
    }
}
virtual_server 10.194.28.222 6443 {
    delay_loop 6
    lb_algo loadbalance
    lb_kind DR    net_mask 255.255.252.0
    persistence_timeout 0
    protocol TCP
    real_server 10.194.28.104 6443 {
        weight 1
        SSL_GET {
            url {
              path /healthz
              status_code 200
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
    real_server 10.194.28.110 6443 {
        weight 1
        SSL_GET {
            url {
              path /healthz
              status_code 200
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

<3> 开启 keepalived  master1  master2依次启动

systemctl enable keepalived  && systemctl start keepalived  && systemctl status keepalived

B

<1>初始化

#kubeadm init --config kubeadm-config.yaml

[[email protected] ~]# cat kubeadm-config.yaml

apiVersion: kubeadm.k8s.io/v1beta1
kind: ClusterConfiguration
kubernetesVersion: v1.14.0
apiServer:
  certSANs:
  - 10.194.28.104
  - 10.194.28.110
controlPlaneEndpoint: "10.194.28.222:6443"
networking:
  podSubnet: "10.244.0.0/16"

---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind:  KubeProxyConfiguration
mode: ipvs

#mkdir -p $HOME/.kube

#cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

#chown $(id -u):$(id -g) $HOME/.kube/config

#kubectl apply -f kube-flannel.yml

<2>复制相关文件

master2   #cd /root && mkdir -p /etc/kubernetes/pki/etcd &&mkdir -p ~/.kube/

master1   设置免密  #ssh-keygen -t rsa 一直回车  #ssh-copy-id -i .ssh/id_rsa.pub [email protected]

sh ca.sh

[[email protected] ~]# cat ca.sh

scp /etc/kubernetes/pki/ca.crt master2:/etc/kubernetes/pki/ 
scp /etc/kubernetes/pki/ca.key master2:/etc/kubernetes/pki/ 
scp /etc/kubernetes/pki/sa.key master2:/etc/kubernetes/pki/
scp /etc/kubernetes/pki/sa.pub master2:/etc/kubernetes/pki/ 
scp /etc/kubernetes/pki/front-proxy-ca.crt master2:/etc/kubernetes/pki/ 
scp /etc/kubernetes/pki/front-proxy-ca.key master2:/etc/kubernetes/pki/ 
scp /etc/kubernetes/pki/etcd/ca.crt master2:/etc/kubernetes/pki/etcd/
scp /etc/kubernetes/pki/etcd/ca.key master2:/etc/kubernetes/pki/etcd/

master1 至此完毕

<3>次master节点加入集群(初始化集群成功时的信息)

kubeadm join 10.194.28.222:6443 --token za0pu8.itrd*********2n     --discovery-token-ca-cert-hash sha256:1f3482c3******************e7acb3bd223d8c     --experimental-control-plane

#mkdir -p $HOME/.kube

#cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

#chown $(id -u):$(id -g) $HOME/.kube/config

以上完毕!!!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_37581092/article/details/106564400

智能推荐

Android之HttpClient的详解_android httpclient_王俊凯夫人的博客-程序员宝宝

——HttpClient       android5.0之前常用       android5.0之后,被HttpURLConnecetion替代       android6.0完全被舍弃       HttpClient是Apache提供的Http网络访问接口。完成的功能和HttpURLConnection几乎一模一样的效果,但两者的用法有很大的差别。      在一般情

iOS开发-------基于WKWebView的原生与JavaScript数据交互_RITL的博客-程序员宝宝

WKWebView是iOS8.0之后用以替代UIWebView的网页浏览器,包含在WebKit中,可以通过 @import WebKit 导入。如果工程需要适配iOS7,那么请在iOS7中使用UIWebView。如果是iOS8.0以上,请果断的选择WKWebView吧,无论是从功能,加载速度还是性能上,它都是不二的选择。毕业回公司有段时间了,与其说比较忙,不如说最近接触的东西有点小

VC 获得当前应用程序所在路径(exe文件的路径)_WeiKangC的博客-程序员宝宝

VC 获得当前应用程序所在路径(exe文件的路径) TCHAR szFilePath[MAX_PATH + 1] = { 0 }; GetModuleFileName(NULL, szFilePath, MAX_PATH); (_tcsrchr(szFilePath, _T('\\')))[1] = 0; //删除文件名,只获得路径

jspSmartUpload API和 _LGF124241877的博客-程序员宝宝

网上找到的jspSmartUpload API 和 原装包,需要的可以下载

仿制element-ui的Collapse 折叠面板组件_zhongjunyao的博客-程序员宝宝

几天没有更新博客了,最近有点忙,没时间写博客,今天偷下懒,写写博客。废话也不多说,说正题,这个折叠面板组件的实现使用了transition过渡动画和css3的变量,使用原生的JS实现逻辑,用到部分ES6的语法,现在本人也还没搞得太透彻,理解明白了,会写一些关于ES7及其更新的语法的博客。这是效果图:这个控件比较简单,我就直接上代码了,不明白的朋友可以在评论里留言,我会改进的;或者是有大神指点我一二...

随便推点

微信小程序android错误,app安卓端 跳转到微信小程序失败_weixin_39614521的博客-程序员宝宝

详细问题描述(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)[内容] app安卓端跳转到微信小程序失败重现步骤 一直失败[步骤] 微信小程序关联了微信开发平台,也绑定了,应用签名也正确,打包时包名一致,调用 launchMiniProgram方法是一切正常,使用的也是小程序的原始id,...

CFA: Coupled-hypersphere-based Feature Adaptation for Target-Oriented Anomaly Localization_cfa异常检测_超想吃柚子的博客-程序员宝宝

每个提取的特征图的空间分辨率分别为输入样本的1/4、1/8、1/16,优化器采用adamw和amsgrad,学习率为0.003,权重衰减0.0005,batch-size为4,epochs为30,CFA的超参数α为0.00001,β为0.1,作为每个补丁特征的最近邻居数,K和J均为3。异常定位的性能取决于内存库的大小;提出的新方法,通过将迁移学习应用到预训练的CNN来产生具有减少偏差的面向目标的特征;当在适应之前使用偏向于大数据集的特征时,正常特征的正态性被低估并且具有与异常特征相似的分数(第二列)。

nginx+openssl配置https协议需要注意的问题_nginx 不安装 openssl 命令_luffy5459的博客-程序员宝宝

nginx配置https协议需要用到openssl库,这个库一般系统会自带,但是自带的库都是版本比较老旧,会出现一些安全漏洞,比如Heartbleed(心血漏洞CVE-2014-0160),CCS(ChangeCipherSpecCVE-2014-0224)注入漏洞,CBC padding oracle漏洞(CVE-2016-2107)。如果出现安全漏洞,https协议也会受到威胁,可以通过第三方...

vue——动态进度条,传入百分比即可跑起来_qq_42289686的博客-程序员宝宝

演示效果:结构progress/index.jsconst controller = { init: require('./controllers/html'), speed: require('./controllers/speed')}exports.init = controller.initexports.speed = controller.speedpro...

splunk采集linux日志,splunk日志监控利器_李姝爱的博客-程序员宝宝

日志处理引擎SPLUNKSplunk分为免费Free版和企业Enterprise版。SplunkFree专供个人使用。SplunkEnterprise添加了支持多用户和分布式部署的功能,并包括警报、基于角色的安全、单一登录、预设的PDF交付以及对无限数据量的支持。你可以使用浏览器访问http://zh-hans.splunk.com/download下载最新版的Splunk。如果你是第一次访问Sp...

jquery data方法获取data-*属性值时会转换类型再输出_jquery获取data-_大丘丘病了二丘丘瞧的博客-程序员宝宝

问题:jquery data 方法在未缓存过时会从html5的data-*属性获取值,但属性值会转换类型再输出举例:&lt;div id="test" data-id="20220321"&gt;test&lt;/div&gt;console.log($('#test').data('id')); // 20220321 输出Number型console.log($('#test').attr('data-id')); // '20220321' 输出String型源码解析原因

推荐文章

热门文章

相关标签