• Kubernetes Kubeadm部署集群


    Kubernetes高可用架构

    Kubenetes 2个高可用核心 apiserver、etcd

    • etcd:集群数据中心,需要保持高可用,用于存放集群的配置信息、状态信息及Pod等信息。如果数据丢失集群将无法恢复。
    • kube-apiserver:集群核心,需要保持高可用,集群API接口,集群各组件通信的中枢。
    • kube-scheduler:Pod调度器,默认kubeadm安装时-leader-elect参数以及设置为true,保证master集群中只有一个kube-scheduler处于活动状态(内部自动选举)。
    • kube-controller-manager:资源对象自动化控制器,当资源对象状态与期望不同时,controller manager会努力让集群恢复期望状态,例如:当一个Pod死掉,controller manager会努力新建一个Pod来恢复对应资源期望的状态。默认kubeadm安装情况下-leader-elect参数已经设置为true,保证master集群中只有一个controller-manager处于活动状态。
    • kubelet:agent node注册到apiserver,并且定期汇报状态。
    • kube-proxy:负责service vip到endpoint pod的流量路由及负载均衡,老版本主要通过设置iptables规则来实现,1.9版本开始基于kube-proxy-lvs来实现。

    Join Cluster

    当master节点部署成功后,会在屏幕显示出node节点Join到cluster中的 token和ca证书的hash值。如果当时没记可以通过以下步骤来获取:

    # kubeadm token create --print-join-command
    kubeadm join 172.16.65.180:6443 --token se1mdt.qo8fgqz8qz82yiee --discovery-token-ca-cert-hash sha256:d8be590e432beb1529c831ea43800a22a5e9ff5bf9faac27d8003dd52904057f

    获取token:

    # kubeadm token create 
    0p9ma2.9gb0cpl4tr2sbmza

    获取ca hash:

    # openssl x509 -in /etc/kubernetes/pki/ca.crt -noout -pubkey | openssl rsa -pubin -outform DER 2>/dev/null | sha256sum | cut -d' ' -f1
    d8be590e432beb1529c831ea43800a22a5e9ff5bf9faac27d8003dd52904057f

    参考文档:

    https://www.kubernetes.org.cn/3536.html

    https://www.kubernetes.org.cn/3808.html

    https://www.kubernetes.org.cn/tags/kubeadm

  • 相关阅读:
    MyEclipse的优化
    关于学习Hadoop中未总结的资料
    OSChina 的 Tomcat 配置 server.xml
    Linux 定时任务 Crontab命令 详解
    常用Linux命令收集
    SQL练习 高级子查询
    JAVA设计模式中的单例模式
    Linux课程笔记 Rsync数据同步服务
    Linux课程笔记 SSH介绍
    Linux课程笔记 Raid技术介绍
  • 原文地址:https://www.cnblogs.com/vincenshen/p/8859760.html
Copyright © 2020-2023  润新知