Kubernetes(八)自签Api server ssl证书
APIserver是整个集群的入口,只有它启动了,别的组件才可以启动;我们基于https访问,所以需要自签证书;
一、查看脚本
cd TLS/k8s
得到以下5个文件
- ca-config.json
- ca-csr.json
- generate_k8s_cert.sh
- kube-proxy-csr.json
- server-csr.json #为api server启用https所使用证书
应用程序访问https api(自签证书)可用通过以下2种方式
- 1、证书添加IP可信任
- 2、携带CA证书
注意:在使用网关、转发等情况下,不能实现携带CA证书,那么我们可用添加信任的IP
二、配置可信任IP
cat server-csr.json
输出以下内容:
{
"CN": "kubernetes",
"hosts": [
"CN": "kubernetes",
"hosts": [
"10.0.0.1", #server的IP地址,一般作为内部负载均衡使用
"127.0.0.1",#本地
#k8s内部通过DNS访问的,默认都要有
"kubernetes",
"kubernetes.default",
"kubernetes.default.svc",
"kubernetes.default.svc.cluster",
"kubernetes.default.svc.cluster.local",
"kubernetes",
"kubernetes.default",
"kubernetes.default.svc",
"kubernetes.default.svc.cluster",
"kubernetes.default.svc.cluster.local",
#自定义可信任IP,主要是三个master的IP
"192.168.31.60",
"192.168.31.61",
"192.168.31.60",
"192.168.31.61",
"192.168.31.62",
"192.168.31.63",
],
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "CN",
"L": "BeiJing",
"ST": "BeiJing",
"O": "k8s",
"OU": "System"
}
]
}
],
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "CN",
"L": "BeiJing",
"ST": "BeiJing",
"O": "k8s",
"OU": "System"
}
]
}
三、执行脚本,生成证书
bash generate_k8s_cert.sh
四、查看生成的证书
ls *pem