zoukankan      html  css  js  c++  java
  • k8s the hard way

    1、安装必要工具cfssl、cfssljson、kubectl 

    linux

    wget -a --show-progress  --https-only  --timestamping   https://pkg.cfssl.org/R1.2/cfssl_linux-amd64  https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64

    chmod +x cfssl_linux-amd64 cfssljson_linux-amd64

    mv cfssl_linux-amd64 /usr/local/bin/cfssl

    mv cfssljson_linux-amd64 /usr/local/bin/cfssljson

    验证:

    cfssl version

    2)安装kubectl 

    wget https://storage.googleapis.com/kubernetes-release/v1.12.0/bin/linux/amd64/kubectl

    chmod +x kubectl

    sudo mv kubectl /usr/local/bin

    验证:

    kubectl version --client

    2、准备计算资源

    3、配制创建证书

    配制CA并创建TLS证书

    我们将使用CloudFlare's PKI 工具 cfssl 来配制 PKI lnfrastructure ,然后使用它去创建Certificate Authority(CA),并为etcd、kube-apiserver、kubelet、kube-proxy创建TSL证书

    1)创建用于生成其他TSL证书的Certificate Authority

    cat > ca-config.json <<EOF

    {

        "signing": {

           "default": {

           "expiry": "87600h"

        },

       "profiles": {

        "kubernetes": {

        "usages": ["signing", "key encipherment", "server auth", "client auth"],

        "expiry": "87600h"

         }

           }

         }

    }

    EOF

    新建CA凭证签发请求文件:

    cat > ca-csr.json <<EOF

    {

      "CN": "kubernetes",

      "key": {

        "algo": "rsa",

        "size": 2048

      },

      "names": [

        {

          "C": "US",

          "L": "Portland",

          "O": "kubernetes",

          "OU": "CA",

          "ST": "Oregon"

        }

      ]

    }

    EOF

    生成CA凭证和私钥:

    cfssl gencert -initca ca-csr.json | cfssljson -bare ca

    结果生成以下两个文件:

    ca-key.pem

    ca.pem

    client 与 server 凭证

     创建用于kubernetes 组件的client 与server凭证,以及一个用于kubernetes admin用户的client凭证

    Admin 客户端凭证

    创建admin client 凭证签发请求文件:

    cat > admin-csr.json <<EOF

    {

      "CN": "admin",

      "key": {

        "algo": "rsa",

        "size": 2048

      },

      "names": [

        {

          "C": "US",

          "L": "Portland",

          "O": "system:masters",

          "OU": "kubernetes The Hard Way",

          "ST": "Oregon"

        }

      ]

    }

    EOF

    创建admin client 凭证和私钥:

    cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=kubernetes admin-csr.dson ||cfssljson -bare admin

    生成下面两个文件

    admin-key.pem admin.pem

    kubelet客户端凭证(kubernetes 使用special-purpose authorization mode (被称作Node Authorizer)授权来自kubelet 的API请求。为了通过Node Authorizer的授权,Kubelet必须使用一个署名为 system:node:<nodeName> 的凭证来证明它属于system:nodes 用户组)

    kube-controller-manager客户端凭证

    kube-proxy客户端凭证

    kube-scheduler证书

    kubernetes API Server 证书(为了保证客户端与Kubernetes API 的认证,Kubernetes API Server 凭证中必需包含kubbernetes-the-hard-way 的静态IP地址。)

    Service Account 证书

    4、配制生成Kubenetes 配制文件

     每个kubeconfig文件都需要一个Kubetnets API Server 的IP地址。

    kubelet 配制文件

    kube-proxy配制文件

    kube-controller-manager配制文件

    kube-scheduler配制文件

    Admin配制文件

    5、配制生成密钥

    创建加密密钥以及一个用于加密Kubernetes Secrets 的加密配制文件

    6、部署etcd群集

    7、部署控制节点

    8、部署计算节点

    9、配制kubectl

    10、配制网络路由

    11、部署dns扩展

    12、烟雾测试

    13、删除集群

    ----------------------------------------

    1、准备部署环境

  • 相关阅读:
    SpringMVC视图解析器
    FreeMarker介绍
    一篇很全面的freemarker教程
    request,session,application
    nav布局 在线演示 DIVCSS5
    opacity
    java 某字符串在另一字符串中是否存在
    bochs 使用讲解
    使用VS2015搭建Lua开发环境
    Zip文件格式
  • 原文地址:https://www.cnblogs.com/xiexun/p/14293459.html
Copyright © 2011-2022 走看看