一、证书工具

CFSSL keytools,openssl

1、介绍

CFSSL is CloudFlare's PKI/TLS swiss army knife. It is both a command line tool and an HTTP API server for signing, verifying, and bundling TLS certificates. It requires Go 1.12+ to build

安装这里不再赘述:yum或者源码编译安装。主要有三个工具:cfssl、cfssljson、cfssl-certinfo

证书编码结构:

PEM(Privacy Enhanced Mail),通常用于数字证书认证机构(Certificate Authorities,CA),扩展名为.pem, .crt, .cer, 和 .key。内容为Base64编码的ASCII码文件,有类似"-----BEGIN CERTIFICATE-----" 和 "-----END CERTIFICATE-----"的头尾标记

DER(Distinguished Encoding Rules),与PEM不同之处在于其使用二进制而不是Base64编码的ASCII。扩展名为.der,但也经常使用.cer用作扩展名,所有类型的认证证书和私钥都可以存储为DER格式

CSR(Certificate Signing Request),它是客户端向CA机构申请数字×××书时使用的请求文件

注意:keytools也可以进行使用jdk自带的工具,也可以生成证书

2、安装

Git地址:https://github.com/cloudflare/cfssl

二进制下载:https://pkg.cfssl.org/

工具包:

cfssl:使用CFSSL包的规范命令行实用程序

cfssljson:同cfssl bundle

cfssl-newkey:

multirootca:可以使用多个签名密钥的证书颁发机构服务器

mkbundle:生成证书池绑定

3、命令行介绍

cfssl:

genkey generate a private key and a certificate request

gencert generate a private key and a certificate

gencrl generate a new Certificate Revocation List

sign             signs a certificate
serve start the API server
revoke revoke a certificate in the certificate store selfsign generates a self-signed certificate
print-defaults print default configurations certinfo output certinfo about the given cert
info get info about a remote signer
version prints out the current version









签名:

​ cfssl sign [-ca cert] [-ca-key key] [-hostname comma,separated,hostnames] csr [subject]



​ ca和ca-key:是ca的证书和ca的私钥,默认为ca.pem和ca_key.pem

​ hostname:逗号分隔的主机名列表

​ csr:客户端签署请求

​ subject:可选选项



​ 示例:cfssl sign -ca /etc/ssl/certs/cfssl.pem -ca-key /etc/ssl/private/cfssl_key.pem -hostname cloudflare.com ./cloudflare.pem #签署cloudflare.pem公司证书cloudflare.com网站

3、命令详解

1)命令1:print-defaults csr

[root@master tmp]# cfssl print-defaults csr #如下为修改后的内容ca-csr.json

{

"CN": "kubernetes",

"key": {

"algo": "rsa",

"size": 2048

},

"names": [

{

"C": "CN",

"ST": "HangZhou",

"L": "HangZhou",

"O": "k8s",

"OU": "FirstOne"

}

],

"ca": {

"expiry": "26280h"

}

}

(CN)Common Name: kube-apiserver 从证书中提取该字段作为请求的用户名 (User Name),浏览器使用该字段验证网站是否合法;

O:Organization,kube-apiserver 从证书中提取该字段作为请求用户所属的组 (Group); kube-apiserver 将提取的 User、Group 作为 RBAC 授权的用户标识;

C = 国家

ST = 州,省

L = 城市

O = 组织名称/公司名称

OU = 组织单位/公司部门

2)命令2:print-defaults config

[root@master tmp]# cfssl print-defaults config #如下为修改后的内容ca-csr.json

{

"signing": {

"default": {

"expiry": "26280h"

},

"profiles": {

"kubernetes": {

"usages": [

"signing",

"key encipherment",

"server auth",

"client auth"

],

"expiry": "26280h"

}

}

}

}

策略说明:

profiles:可以定义多个 ,分别指定不同的过期时间、使用场景等参数

signing:表示证书可用于签名其它证书,生成的 ca.pem 证书中CA=TRUE;

server auth:表示client可以用该该证书对 server 提供的证书进行验证;

client auth:表示server可以用该该证书对 client 提供的证书进行验证;

3、包含功能:

二、网络插件

1、flannel

2、calico

3、处理cni还有cnm?

三、etcd

常用命令接口

可视化工具

四、docker

镜像

编排

常用命令和参数

kubernetes个人笔记(一)的更多相关文章

  1. k8s kubernetes 核心笔记 镜像仓库 项目k8s改造(含最新k8s v1.16.2版本)

    k8s kubernetes 核心笔记 镜像仓库 项目k8s改造 2019/10/24 Chenxin 一 基本资料 一 参考: https://kubernetes.io/ 官网 https://k ...

  2. Kubernetes 学习笔记(一):基础概念

    个人笔记,仅本人查阅使用,不保证正确. 零.微服务 微服务架构专注于应用解耦合,通过将应用彻底地组件化和服务化,每个微服务只包含一个非常小的功能,比如权限管理.日志收集等等.由这一组微服务组合起来,提 ...

  3. Kubernetes学习笔记(八):Deployment--声明式的升级应用

    概述 本文核心问题是:如何升级应用. 对于Pod的更新有两种策略: 一是删除全部旧Pod之后再创建新Pod.好处是,同一时间只会有一个版本的应用存在:缺点是,应用有一段时间不可用. 二是先创建新Pod ...

  4. Kubernetes学习笔记(四):服务

    服务介绍 服务是一种为一组相同功能的pod提供单一不变接入点的资源.当服务存在时,他的IP和端口不会改变.客户端通过IP和端口建立连接,这些连接会被路由到任何一个pod上.如此,客户端不需要知道每个单 ...

  5. Kubernetes学习笔记_尚硅谷

    https://www.bilibili.com/video/BV1w4411y7Go?p=1 一.K8s介绍 k8s是一个编排容器的工具,其实也是管理应用的全生命周期的一个工具,从创建应用,应用的部 ...

  6. Kubernetes学习笔记之认识Kubernetes组件

    前言:笔记知识点来源于Kubernetes官方文档说明,链接:https://kubernetes.io/docs/concepts/overview/components/ ,本记录仅仅是学习笔记记 ...

  7. kubernetes学习笔记

    docker实现了更便捷的单机容器虚拟化的管理, docker的位置处于操作系统层与应用层之间; 相对传统虚拟化(KVM,XEN): docker可以更加灵活的去实现一些应用层功能, 同时对资源的利用 ...

  8. kubernetes学习笔记1

    安装篇 Downloading Kubernetes You can either build a release from sources or download a pre-built relea ...

  9. 深入剖析Kubernetes学习笔记:开篇词(00)

    一.关于Kubernetes初学的疑惑 就在这场因"容器"而起的技术变革中,kubernetes项目已经成为容器技术的事实标准,重新定义了基础设置领域对应用编排与管理的种种可能 1 ...

  10. 深入剖析Kubernetes学习笔记:预习篇(01-04)

    01 初出茅庐 1.PaaS 项目被大家接纳的一个主要原因? 就是它提供了一种名叫"应用托管". 2.像 Cloud Foundry 这样的 PaaS 项目,最核心的组件是? 一套 ...

随机推荐

  1. CentOS7下RabbitMQ服务安装配置 (亲测有效)

    erlang 21.3 rabbitmq-server 3.7.14 下载地址 链接: https://pan.baidu.com/s/1g_T1Q_6zpyO3AepS0ZPgYQ 提取码: abq ...

  2. Dokuwiki安装教程

    一. CentOS设置 1. 更换阿里源 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos ...

  3. 【API进阶之路】研发需求突增3倍,测试团队集体闹离职

    摘要:最近研发的需求量涨了3倍,开发团队拼命赶进度,可苦了测试团队. 本以为从一线研发转管理后会清闲一些,但是没想到,我还要充当救火队员的角色. 到了第四季度,各业务部门都在憋着劲儿冲业绩,毕竟这跟年 ...

  4. Codeforces Round #678 (Div. 2)

    Codeforces Round #678 (Div. 2) A. Reorder 题意:有一个有 n 个数的序列 a ,以及一个数 m ,问能否给序列a重新排序,能够满足式子 $\sum_{i=1} ...

  5. 基于Python与命令行人脸识别项目(系列一)

    Face Recognition 人脸识别 摘要:本项目face_recognition是一个强大.简单.易上手的人脸识别开源项目,并且配备了完整的开发文档和应用案例,方便大家使用.对于本项目可以使用 ...

  6. Spring Boot学习笔记(一)——Eclipse安装STS插件

    一.简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式进行配置,从而使开发人员不再需要定义样板化的配 ...

  7. Luogu P6280 [USACO20OPEN]Exercise G

    题意 定义一个长度为 \(n\) 的置换的步数为将 \(P=(1,2,\cdots,n)\) 在该置换操作下变回原样的最小次数. 求所有 \(K\) 的和,使得存在一个长度为 \(n\) 的置换使得其 ...

  8. NB-IoT和LORA技术通信距离是一样的吗

    如今物联网的无线通信技术非常多,这其中主要分为两大类:一类是以Zigbee.WiFi.蓝牙.Z-wave等短距离通信技术为主:另一类就是以LPWAN(low-powerWide-AreaNetwork ...

  9. Learn day7 继承(单、多、菱形)\多态\魔术方法\装饰器\异常

    1.继承 1.1 单继承# ### 继承 """ (1) 单继承 (2) 多继承 至少2个类,子类和父类 一个类继承另外一个类,当前类是子类 (衍生类) 被继承的这个类是 ...

  10. Java_多线程实现

    一个类两个接口 Tread类: 使用时继承Thread类 Runnable接口: 使用时实现Runnable接口 Callable接口: 使用时实现Callable接口 由于类只能单继承, 接口可以多 ...