kubernetes个人笔记(一)
一、证书工具
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个人笔记(一)的更多相关文章
- k8s kubernetes 核心笔记 镜像仓库 项目k8s改造(含最新k8s v1.16.2版本)
k8s kubernetes 核心笔记 镜像仓库 项目k8s改造 2019/10/24 Chenxin 一 基本资料 一 参考: https://kubernetes.io/ 官网 https://k ...
- Kubernetes 学习笔记(一):基础概念
个人笔记,仅本人查阅使用,不保证正确. 零.微服务 微服务架构专注于应用解耦合,通过将应用彻底地组件化和服务化,每个微服务只包含一个非常小的功能,比如权限管理.日志收集等等.由这一组微服务组合起来,提 ...
- Kubernetes学习笔记(八):Deployment--声明式的升级应用
概述 本文核心问题是:如何升级应用. 对于Pod的更新有两种策略: 一是删除全部旧Pod之后再创建新Pod.好处是,同一时间只会有一个版本的应用存在:缺点是,应用有一段时间不可用. 二是先创建新Pod ...
- Kubernetes学习笔记(四):服务
服务介绍 服务是一种为一组相同功能的pod提供单一不变接入点的资源.当服务存在时,他的IP和端口不会改变.客户端通过IP和端口建立连接,这些连接会被路由到任何一个pod上.如此,客户端不需要知道每个单 ...
- Kubernetes学习笔记_尚硅谷
https://www.bilibili.com/video/BV1w4411y7Go?p=1 一.K8s介绍 k8s是一个编排容器的工具,其实也是管理应用的全生命周期的一个工具,从创建应用,应用的部 ...
- Kubernetes学习笔记之认识Kubernetes组件
前言:笔记知识点来源于Kubernetes官方文档说明,链接:https://kubernetes.io/docs/concepts/overview/components/ ,本记录仅仅是学习笔记记 ...
- kubernetes学习笔记
docker实现了更便捷的单机容器虚拟化的管理, docker的位置处于操作系统层与应用层之间; 相对传统虚拟化(KVM,XEN): docker可以更加灵活的去实现一些应用层功能, 同时对资源的利用 ...
- kubernetes学习笔记1
安装篇 Downloading Kubernetes You can either build a release from sources or download a pre-built relea ...
- 深入剖析Kubernetes学习笔记:开篇词(00)
一.关于Kubernetes初学的疑惑 就在这场因"容器"而起的技术变革中,kubernetes项目已经成为容器技术的事实标准,重新定义了基础设置领域对应用编排与管理的种种可能 1 ...
- 深入剖析Kubernetes学习笔记:预习篇(01-04)
01 初出茅庐 1.PaaS 项目被大家接纳的一个主要原因? 就是它提供了一种名叫"应用托管". 2.像 Cloud Foundry 这样的 PaaS 项目,最核心的组件是? 一套 ...
随机推荐
- spring boot:用spring security加强druid的安全(druid 1.1.22 / spring boot 2.3.3)
一,druid的安全保障有哪些环节要注意? 1,druid ui的访问要有ip地址限制 2,用户必须要有相应的权限才能访问druid 3,关闭重置功能 说明:stat-view-servlet.url ...
- linux(centos8):用uniq去除文本中重复的行(去重)
一,uniq命令的用途 1, 作用: 从输入文件或标准输入中找到相邻的匹配行, 并写入到输出文件或标准输出 2, 使用时通常会搭配sort使用 说明:刘宏缔的架构森林是一个专注架构的博客,地址:htt ...
- C# 微信共享收货地址 V1.6
//使用微信共享收货地址在跳转到当前页面的路径上必须要包含Code和state这两个获取用户信息的参数//例如 <a href="ProductOrder.aspx?OID=<% ...
- Shell脚本学习指南笔记(一)
脚本语言通常是解释型的,这类程序的运行.是由解释器读入程序代码,并将其转换成内部的形式, 再执行,解释器本身是一般的编译型程序. 第一行的开头处使用#!这两个字符,当内核扫描到改行的其余部分,看是否存 ...
- JavaWeb宿舍管理系统(附 演示、源码下载地址)
宿舍管理是高校管理的重要组成部分,一套优秀的管理系统不仅可以降低宿舍管理的难度,也能在一定程度上减少学校管理费用的支出,能是建设现代化高校管理体系的重要标志. 本篇文章将带你从运行环境搭建.系统设计. ...
- bash xshell 特性
1.tab键补全 2.命令行常用快捷键: ctrl键+ c #取消当前操作 ctrl键+ d #退出当前用户登录 ctrl键+ a #光标移动到光标所在行的行首 ctrl键+ e ...
- 一些免费API接口
转载自:https://www.cnblogs.com/haimishasha/p/6351403.html 天气接口 聚合数据: http://op.juhe.cn/onebox/weather/q ...
- 一、ETL实践之数据可视化架构
开篇心声: 不管是学习新知识,还是遇到各种难题,总能在技术论坛找到经验帖子.一直享受大家提供的帮助,而自己没有任何输出,实在过意不去.我相信技术是经验的交流,思维的碰撞. 这是我一次写技术分享文章,我 ...
- 冷饭新炒:理解断路器CircuitBreaker的原理与实现
前提 笔者之前在查找Sentinel相关资料的时候,偶然中找到了Martin Fowler大神的一篇文章<CircuitBreaker>.于是花了点时间仔细阅读,顺便温习一下断路器Circ ...
- 如何修改hosts并保存
Hosts文件用于本地调试,或手动设置一个域名应该被解析到哪个IP地址,在修改时会发现需要管理员权限才能修改保存,这个时候我们可以这样做 找到Hosts文件,将Hosts文件复制到桌面.(Window ...