文章目录
- 部署Master组件
-
- Master节点上操作
- 创建kubernetes工作目录
- 创建用于生成CA证书、相关组件的证书和私钥的目录
- 复制CA证书、apiserver相关证书和私钥到kubernetes工作目录的ssl目录中
- 上传 kubernetes-server-linux-amd64.tar.gz到/opt/k8s/目录中,解压 kubernetes压缩包
- 复制master组件的关键命令文件到kubernetes工作目录的 bin子目录中,创建链接文件,让系统服务识别
- 创建bootstrap token认证文件
- 启动api-server,查看端口服务有没有启动
- 启动scheduler服务
- 启动controller-manager服务
- 查看Master节点状态
- 部署node组件
-
- 在master节点上操作
- 在node01节点上操作
- 在master节点上操作
- 上传kubeconfig.sh文件到/opt/k8s / kubeconfig目录中
- 执行kubeconfig.sh文件生成kubelet的配置文件
- 把配置文件bootstrap.kubeconfig和kube-proxy.kubeconfig拷贝到node节点
- RBAC授权
- 在node01节点上操作
- Master01上操作
- 通过CSR请求
- 查看集群节点状态
- 在node1节点上操作
- 加载 ip_vs 模块
- 使用proxy.sh脚本启动proxy服务
- 将node01节点上将kubelet.sh、proxy.sh文件拷贝到node02节点中
- 在node02节点上开启服务
- 最终在master上查看集群状态
- 总结
部署Master组件
Master节点上操作
上传master.zip和k8s-cert.sh到 /opt/k8s 目录中,解压master.zip压缩包
master.zip软件包,k8s-cert.sh脚本文件
cd /opt/k8s
unzip master.zip
chmod +x *.sh
创建kubernetes工作目录
mkdir -p /opt/kubernetes/{
cfg,bin,ssl}
创建用于生成CA证书、相关组件的证书和私钥的目录
mkdir /opt/k8s/k8s-cert
mv /opt/k8s/k8s-cert.sh /opt/k8s/k8s-cert
cd /opt/k8s/k8s-cert/
vim k8s-cert.sh
./k8s-cert.sh
ls
证书生成脚本文件
vim k8s-cert.sh
#!/bin/bash
#配置证书生成策略,让 CA 软件知道颁发有什么功能的证书,生成用来签发其他组件证书的根证书
cat > ca-config.json <<EOF
{
"signing": {
"default": {
"expiry": "87600h"
},
"profiles": {
"kubernetes": {
"expiry": "87600h",
"usages": [
"signing",
"key encipherment",
"server auth",
"client auth"
]
}
}
}
}
EOF
#生成CA证书和私钥(根证书和私钥)
cat > ca-csr.json <<EOF
{
"CN": "kubernetes",
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "CN",
"L": "Beijing",
"ST": "Beijing",
"O": "k8s",
"OU": "System"
}
]
}
EOF
cfssl gencert -initca ca-csr.json | cfssljson -bare ca -
#-----------------------
#生成 apiserver 的证书和私钥(apiserver和其它k8s组件通信使用)
#hosts中将所有可能作为 apiserver 的 ip 添加进去,后面 keepalived 使用的 VIP 也要加入
cat > apiserver-csr.json <<EOF
{
"CN": "kubernetes",
"hosts": [
"10.0.0.1",
"127.0.0.1",
"192.168.111.80", #master01
"192.168.111.70", #master02
"192.168.111.60", #vip,后面 keepalived 使用
"192.168.111.30.", #load balancer01(master)
"192.168.111.40", #load balancer02(backup)
"kubernetes",
"kubernetes.default",
"kubernetes.default.svc",
"kubernetes.default.svc.cluster",
"kubernetes.default.svc.cluster.local"
],
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "CN",