【二进制部署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
相关推荐
EterNity_TiMe_1 小时前
Docker服务越装越多记不住端口?我用Fenrus把NAS里的常用入口整理成一个导航页
运维·人工智能·docker·ai·容器·cpolar
吴声子夜歌1 小时前
Docker入门与实战——libnetwork插件化网络功能
网络·docker·容器
江湖有缘2 小时前
Docker实战 | 使用Docker部署HarborGuard容器安全扫描平台
安全·docker·容器
江湖有缘2 小时前
Docker实战 | 使用Docker部署Reubah文件转换器和图像处理器
docker·容器·eureka
T.O.P_KING3 小时前
Falco vs. Tetragon:云原生运行时安全选型指南
安全·云原生
七夜zippoe3 小时前
把 OpenClaw Agent 搬进 K8s:容器化部署全记录
ai·云原生·容器·kubernetes·openclaw
flytalei4 小时前
从 Docker Compose 到 K3s:逐浪笔记首次完整部署与故障排查实战
笔记·docker·容器
March.s14 小时前
Kubernetes 全景导览:从部署演进到云原生底座
云原生·kubernetes·dubbo
熊出没15 小时前
云原生架构落地实践:Kubernetes 生产级配置与 Service Mesh 流量治理
云原生·架构·kubernetes·istio