【二进制部署k8s-1.29.4】四、kube-apiserver安装部署

文章目录

简介

本章节主要讲解安装kube-apiseerver,安装kube-apiserver主要是将证书、配置文件、token文件拷贝到对应的目录,配置启动脚本,然后将kube-apiserver可执行文件拷贝到bin目录进行启动。
第一章.安装前软件准备及系统初始化阶段
第二章.证书及配置文件的准备
第三章.etcd集群的安装配置

一.确认证书文件及token文件

1.在第二章"二.【二进制安装k8s-1.29.4】证书及配置文件的准备",我们准备了所有相关的证书级配置文件,其中ca.pem和ca-key.pem生成在ca目录下,kube-apiserver-key.pem kube-apiserver.pem proxy-client-key.pem proxy-client.pem生成在install_master/cert目录下。
2.再次确认如下6个证书是否存在:ca.pem,etcd-key.pem,kube-apiserver-key.pem kube-apiserver.pem proxy-client-key.pem proxy-client.pem。
3.该六个证书是通过ca-config.json,ca-csr.json先生成CA证书ca.pem和ca-key.pem,然后在通过kube-apiserver-csr.json和proxy-client-csr.json 生成了kube-apiserver-key.pem kube-apiserver.pem proxy-client-key.pem proxy-client.pem。
4.将六个证书 拷贝到/opt/kubernetes/ssl目录下
5.token.csv文件在第二章时生成到了install_master目录下,也可以通过以下命令生成,然后拷贝到/opt/kubernetes/conf目录下

复制代码
echo "create token ====="
cat > token.csv << EOF
$(head -c 16 /dev/urandom | od -An -t x | tr -d ' '),kubelet-bootstrap,10001,"system:bootstrappers"
EOF

二.准备配置文件

将 kube-apiserver.conf 【该文件在第二章中生成】拷贝到/opt/kubernetes/conf 目录下。

kube-apiserver.conf的内容如:

复制代码
KUBE_APISERVER_OPTS="--enable-admission-plugins=NamespaceLifecycle,NodeRestriction,LimitRanger,ServiceAccount,DefaultStorageClass,ResourceQuota \
  --anonymous-auth=false \
  --secure-port=6443 \
  --authorization-mode=Node,RBAC \
  --runtime-config=api/all=true \
  --enable-bootstrap-token-auth \
  --service-cluster-ip-range=10.1.0.0/16 \
  --token-auth-file=/opt/kubernetes/conf/token.csv \
  --service-node-port-range=30000-50000 \
  --tls-cert-file=/opt/kubernetes/ssl/kube-apiserver.pem \
  --tls-private-key-file=/opt/kubernetes/ssl/kube-apiserver-key.pem \
  --client-ca-file=/opt/kubernetes/ssl/ca.pem \
  --kubelet-client-certificate=/opt/kubernetes/ssl/kube-apiserver.pem \
  --kubelet-client-key=/opt/kubernetes/ssl/kube-apiserver-key.pem \
  --kubelet-preferred-address-types=InternalIP,Hostname,InternalDNS,ExternalDNS \
  --service-account-issuer=https://kubernetes.default.svc \
  --service-account-key-file=/opt/kubernetes/ssl/ca-key.pem \
  --service-account-signing-key-file=/opt/kubernetes/ssl/ca-key.pem \
  --etcd-cafile=/opt/etcd/ssl/ca.pem \
  --etcd-certfile=/opt/etcd/ssl/etcd.pem \
  --etcd-keyfile=/opt/etcd/ssl/etcd-key.pem \
  --etcd-servers=https://10.16.120.81:2379,https://10.16.120.82:2379,https://10.16.120.83:2379 \
  --allow-privileged=true \
  --audit-log-maxage=5 \
  --audit-log-maxbackup=3 \
  --audit-log-maxsize=100 \
  --audit-log-path=/opt/kubernetes/logs/kube-apiserver-audit.log \
  --requestheader-allowed-names=aggregator \
  --requestheader-group-headers=X-Remote-Group \
  --requestheader-username-headers=X-Remote-User \
  --requestheader-extra-headers-prefix=X-Remote-Extra- \
  --requestheader-client-ca-file=/opt/kubernetes/ssl/ca.pem \
  --proxy-client-cert-file=/opt/kubernetes/ssl/proxy-client.pem \
  --proxy-client-key-file=/opt/kubernetes/ssl/proxy-client-key.pem \
  --v=4"

三.安装kube-apiserver

第一章总如果有下载kubernetes-server-linux-amd64.tar.gz,则解压,将kubernetes/server/bin/kube-apiserver 拷贝到/opt/kubernetes/bin目录下,也可以一次性将kubernetes/server/bin/kube-controller-manager和kubernetes/server/bin/kube-scheduler 拷贝过去.

四.准备启动脚本

将kube-apiserver.service 拷贝到/usr/lib/systemd/system/然后执行:

复制代码
systemctl daemon-reload
systemctl enable kube-apiserver
systemctl start kube-apiserver
相关推荐
炸炸鱼.19 小时前
Kubernetes高级调度02:Taint/Toleration、Cordon/Drain、亲和性与反亲和性完全指南
云原生·容器·kubernetes
海兰1 天前
Kibana Dashboard as Code:Elastic 9.4 如何用 Terraform 和类型化 API 终结“JSON 垃圾袋“
云原生·json·terraform
geshifei1 天前
K8s 容器运行 UnixBench — 代理机器执行记录
云原生·容器·kubernetes
Albert Edison1 天前
【Docker】Ubuntu22.04 安装 Docker 教程
运维·docker·容器
codefan※1 天前
一键部署私人 LLM:Ollama + Docker 极简指南
运维·docker·容器·大模型·llm·本地部署·ollama
阿里云云原生1 天前
可观测性的终局?从“面向数据”到“面向对象”,UModel 如何为 AI Agent 注入认知地图
云原生·agent
李南想做条咸鱼1 天前
k8s集群容器访问域名第一次不通,第二次必通如何解决
云原生·容器·kubernetes
FelixBitSoul1 天前
K8s 调度器黑盒全拆解:拓扑约束数学陷阱 + Go 插件二开实战(避坑全记录)
容器·kubernetes
叶~小兮1 天前
K8s常用组件学习笔记
笔记·学习·kubernetes
ん贤1 天前
Volcano 详细笔记
云原生·volcano