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
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、准备部署环境
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2019-01-18 TOMCAT_server.xml
2019-01-18 tomcat