【二进制部署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
相关推荐
码上上班6 小时前
docker课程
java·docker·容器
取谖慕12.9 小时前
Docker容器从入门到精通
docker·容器·eureka
人间凡尔赛11 小时前
K8s 十年之变:从 Cloud Native 到 AI Native,2026 年后端架构的范式革命
后端·云原生·架构
名字还没想好☜12 小时前
Kubernetes CrashLoopBackOff 排查全流程:从 describe 到日志到 exit code
运维·docker·云原生·容器·kubernetes
冰封之寂12 小时前
Docker 部署与基础命令详解:从安装到容器管理全流程指南
linux·运维·docker·容器
Cloud云卷云舒13 小时前
AI Agent记忆系统:分层记忆体系的技术架构与实践
云原生·ai-native·haishandb
Ulyanov14 小时前
Python雷达电子对抗仿真引擎(一):打破单体瓶颈,构建微服务与ECS架构的顶层设计
开发语言·python·微服务·云原生·架构·雷达电子对抗
spider_xcxc15 小时前
Helm 部署 K8s 集群完整笔记
java·开发语言·kubernetes
窝子面15 小时前
认识Docker与启动容器与镜像的关系
运维·docker·容器
spider_xcxc1 天前
基于项目实际 k8s/ 目录 YAML 文件的完整学习指南。
云原生·容器·kubernetes