zoukankan      html  css  js  c++  java
  • 创建node节点上kubeconfig文件

    #!/bin/bash
    #by love19791126 107420988@qq.com
    # 创建node节点上kubeconfig文件 在master节点部署
    #kubeconfig是用于Node节点上kuber-proxy和kubelet与集群通信做的认证
    # vim /etc/profile
    # PATH=$PATH:/opt/kubernetes/bin

    # source /etc/profile

    chmod +x kube-proxy kubelet kubectl kube-apiserver kubeadm kube-controller-manager kube-scheduler
    cp kube-proxy kubelet kubectl kube-apiserver kubeadm kube-controller-manager kube-scheduler /opt/kubernetes/bin/

    #设置token
    #手工方式生成CA非常麻烦,只适合少量机器,每次签证时都需要绑定Node IP,随着机器增加会带来很多的不便,因此这里使用TLS Bootstrapping的方式来进行授权,由apiserver自动为符合条件的Node发送证书授权加入集群。
    #做法是在kubelet启动时,向kuber-apiserver传送TLS Bootstrapping请求,而kube-apiserver验证kubelet请求的token是否与设定的一样,如果一样则自动生成Kuberlet证书和密钥。
    #首先生成BOOTSTRAP_TOKEN,并建立bootstrap.conf的kubeconfig
    export BOOTSTRAP_TOKEN=$(head -c 16 /dev/urandom | od -An -t x | tr -d ' ')
    cat > token.csv <<EOF
    ${BOOTSTRAP_TOKEN},kubelet-bootstrap,10001,"system:kubelet-bootstrap"
    EOF

    #设置api访问入口
    export KUBE_APISERVER="https://192.168.1.251:6443"

    #设置集群参数
    kubectl config set-cluster kubernetes --certificate-authority=/opt/kubernetes/ssl/ca.pem --embed-certs=true --server="${KUBE_APISERVER}" --kubeconfig=bootstrap.kubeconfig

    #设置客户端认证参数
    kubectl config set-credentials kubelet-bootstrap --token=${BOOTSTRAP_TOKEN} --kubeconfig=bootstrap.kubeconfig

    #设置上下文参数
    kubectl config set-context default --cluster=kubernetes --user=kubelet-bootstrap --kubeconfig=bootstrap.kubeconfig

    # 设置默认上下文
    kubectl config use-context default --kubeconfig=bootstrap.kubeconfig

    #设置kube-proxy kubeconfig文件
    kubectl config set-cluster kubernetes --certificate-authority=/opt/kubernetes/ssl/ca.pem --embed-certs=true --server=${KUBE_APISERVER} --kubeconfig=kube-proxy.kubeconfig

    #设置kube-proxy证书
    kubectl config set-credentials kube-proxy --client-certificate=/opt/kubernetes/ssl/kube-proxy.pem --client-key=/opt/kubernetes/ssl/kube-proxy-key.pem --embed-certs=true --kubeconfig=kube-proxy.kubeconfig

    #设置kube-proxy上下文
    kubectl config set-context default --cluster=kubernetes --user=kube-proxy --kubeconfig=kube-proxy.kubeconfig

    #设置kube-proxy默认上下文
    kubectl config use-context default --kubeconfig=kube-proxy.kubeconfig

  • 相关阅读:
    使用echo $? 查看命令成功执行的原理
    Ubuntu 12.04下NFS安装配置图解
    使用nfsstat命令查看NFS服务器状态
    ORACLE 中rownum和row_number()的使用区别(可指定取sql结果集的第几个数据)
    toad调用存储过程,存储过程调用sql 类
    指纹协查统计sql
    oracle 解锁表
    【转】经典排序算法
    wget 命令用法详解
    Linux 带宽、CPU、内存占用情况
  • 原文地址:https://www.cnblogs.com/love19791125/p/11286784.html
Copyright © 2011-2022 走看看