zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?
    什么是 JavaConfig?
    序列号Sequences
    包Packages
    参数Parameters、变量Variables
    maven配置多个镜像
    各种http报错的报错的状态码的分析
    举例说明同步和异步。
    第二阶段的任务及燃尽图(第二天)
    第二阶段的任务及燃尽图(第一天)
  • 原文地址:https://www.cnblogs.com/vincenshen/p/8859760.html
Copyright © 2011-2022 走看看