zoukankan      html  css  js  c++  java
  • k8s记录-node组件部署(十)

    1)CA 证书配置
    登录 192.168.0.1 app 用户下
    cd ssl/kubernetes
    #注意修改 KUBE_HOME,BOOTSTRAP_TOKEN #与 3.5 3)token 一致,
    KUBE_APISERVER,IP 等信息
    bash ca_kubelet.sh

    #!/bin/bash
    KUBE_HOME=kubernetes
    BOOTSTRAP_TOKEN=f192f8a03c6a087e6033c233eb22aae3 #与3.5 3)token一致
    KUBE_APISERVER=https://192.168.0.1:6443
    #设置集群参数
     $KUBE_HOME/bin/kubectl config set-cluster kubernetes 
      --certificate-authority=./ca.pem 
      --embed-certs=true 
      --server=${KUBE_APISERVER} 
      --kubeconfig=bootstrap.kubeconfig
    #设置客户端认证参数
    $KUBE_HOME/bin/kubectl config set-credentials kubelet-bootstrap 
      --token=${BOOTSTRAP_TOKEN} 
      --kubeconfig=bootstrap.kubeconfig
    #设置上下文参数
    $KUBE_HOME/bin/kubectl config set-context default 
      --cluster=kubernetes 
      --user=kubelet-bootstrap 
      --kubeconfig=bootstrap.kubeconfig
    #设置默认上下文
    $KUBE_HOME/bin/kubectl config use-context default --kubeconfig=bootstrap.kubeconfig
    #创建kube-proxy kubeconfig文件
    #设置集群参数
    $KUBE_HOME/bin/kubectl config set-cluster kubernetes 
      --certificate-authority=./ca.pem 
      --embed-certs=true 
      --server=${KUBE_APISERVER} 
      --kubeconfig=kube-proxy.kubeconfig
    #设置客户端认证参数
    $KUBE_HOME/bin/kubectl config set-credentials kube-proxy 
      --client-certificate=./kube-proxy.pem 
      --client-key=./kube-proxy-key.pem 
      --embed-certs=true 
      --kubeconfig=kube-proxy.kubeconfig
    #设置上下文参数
    $KUBE_HOME/bin/kubectl config set-context default 
      --cluster=kubernetes 
      --user=kube-proxy 
      --kubeconfig=kube-proxy.kubeconfig
    #设置默认上下文
    $KUBE_HOME/bin/kubectl config use-context default --kubeconfig=kube-proxy.kubeconfig
    # 将bootstrap kubeconfig kube-proxy.kubeconfig 文件拷贝到所有 nodes节点
    cp bootstrap.kubeconfig kube-proxy.kubeconfig   $KUBE_HOME/ssl
    scp bootstrap.kubeconfig kube-proxy.kubeconfig  app@192.168.0.2:$KUBE_HOME/ssl
    scp bootstrap.kubeconfig kube-proxy.kubeconfig  app@192.168.0.2:$KUBE_HOME/ssl

    以下在 192.168.0.1 192.168.0.2 192.168.0.3 app 用户下操作
    2)程序准备
    tar xvf kubernetes-node-linux-amd64.tar.gz
    mkdir -p kubernetes/{bin,cfg,ssl}
    a.kubelet 服务配置
    #注意修改 kubelet.config 中的 address 和 clusterDNS
    kubernetes/cfg/kubelet.config

    kind: KubeletConfiguration
    apiVersion: kubelet.config.k8s.io/v1beta1
    address: xxx.xxx.xxx.xxx
    port: 10250
    readOnlyPort: 10255
    cgroupDriver: cgroupfs
    clusterDNS: ["10.1.0.2"]
    clusterDomain: cluster.local.
    failSwapOn: false
    authentication:
      anonymous:
        enabled: true

    #注意修改 kubelet 中的 IP 路径
    kubernetes/cfg/kubernetes/kubelet

    KUBE_HOME=kubernetes
    KUBE_IP=192.168.0.1
    KUBELET_ARGS="--logtostderr=true 
    --v=4 
    --hostname-override=$KUBE_IP 
    --kubeconfig=$KUBE_HOME/cfg/kubelet.kubeconfig 
    --bootstrap-kubeconfig=$KUBE_HOME/cfg/bootstrap.kubeconfig 
    --config=$KUBE_HOME/cfg/kubelet.config 
    --cert-dir=$KUBE_HOME/ssl 
    --pod-infra-container-image=k8s.gcr.io/pause:3.1"

    使用 root 用户执行
    mkdir -p /data/kubelet
    ln -s /data/kubelet /var/lib/kubelet
    #开启与停止服务
    ##开启服务
    执行之前操作 3)小节创建用户

    #!/bin/bash
    KUBE_HOME=kubernetes
    $KUBE_HOME/bin/kubectl create clusterrolebinding kubelet-bootstrap 
     --clusterrole=system:node-bootstrapper 
     --user=kubelet-bootstrap
    kubectl create clusterrolebinding kubelet-bootstrap 
     --clusterrole=system:node-bootstrrooter 
     --user=kubelet-bootstrap
    kubectl create clusterrolebinding system:anonymous --clusterrole=cluster-admin --user=system:anonymous
    
    source $KUBE_HOME/cfg/kubelet
    nohup $KUBE_HOME/bin/kubelet $KUBELET_ARGS &

    ##停止服务

    #!/bin/bash
    kill -9 ` ps -ef | grep kubelet | grep -v grep | awk '{print $2}'`

    b.proxy 服务配置
    #注意 kube-proxy 中的 IP 修改
    kubernetes/cfg/kube-proxy

    #!/bin/bash
    KUBE_HOME=kubernetes
    KUBE_IP=192.168.0.1
    CLUSTERCIDR="10.1.0.0/24"
    KUBE_PROXY_ARGS="--logtostderr=true 
    --v=4 
    --hostname-override=$KUBE_IP 
    --cluster-cidr=$CLUSTERCIDR 
    --kubeconfig=$KUBE_HOME/cfg/kube-proxy.kubeconfig"

    #开启与停止服务
    ##开启服务

    #!/bin/bash
    KUBE_HOME=kubernetes
    source $KUBE_HOME/cfg/proxy
    nohup $KUBE_HOME/bin/kube-proxy $KUBE_PROXY_ARGS &

    ##停止服务

    #!/bin/bash
    kill -9 ` ps -ef | grep kube-proxy | grep -v grep | awk '{print $2}'`

    3) master 节点配置
    #将 kubelet-bootstrap 用户绑定到系统集群角色
    kubectl create clusterrolebinding kubelet-bootstrap
    --clusterrole=system:node-bootstrapper
    --user=kubelet-bootstrap
    kubectl create clusterrolebinding system:anonymous --clusterrole=cluster-admin --
    user=system:anonymous
    ##approve kubelet CSR 请求
    #查看 CSR 列表:
    kubectl get csr
    kubectl certificate approve ${csrname}
    kubectl get csr
    #查看集群状态
    kubectl get node,cs

  • 相关阅读:
    HOJ 2139 Spiderman's workout(动态规划)
    FZU 2107 Hua Rong Dao(dfs)
    Java 第十一届 蓝桥杯 省模拟赛 计算机存储中有多少字节
    Java 第十一届 蓝桥杯 省模拟赛 计算机存储中有多少字节
    Java 第十一届 蓝桥杯 省模拟赛 计算机存储中有多少字节
    Java 第十一届 蓝桥杯 省模拟赛 合法括号序列
    Java 第十一届 蓝桥杯 省模拟赛 合法括号序列
    Java 第十一届 蓝桥杯 省模拟赛 合法括号序列
    Java 第十一届 蓝桥杯 省模拟赛 无向连通图最少包含多少条边
    Java 第十一届 蓝桥杯 省模拟赛 无向连通图最少包含多少条边
  • 原文地址:https://www.cnblogs.com/xinfang520/p/11698265.html
Copyright © 2011-2022 走看看