【二进制部署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
相关推荐
想学习java初学者5 分钟前
Docker compose部署elasticsearch(单机版)
运维·docker·容器
Smile丶凉轩15 分钟前
微服务即时通讯系统的实现(客户端)----(1)
微服务·云原生·架构
南慕小白18 分钟前
云原生后端
云原生
微刻时光2 小时前
Docker部署Nginx
运维·nginx·docker·容器·经验
@东辰2 小时前
【golang-技巧】-自定义k8s-operator-by kubebuilder
开发语言·golang·kubernetes
小安运维日记2 小时前
CKA认证 | Day3 K8s管理应用生命周期(上)
运维·云原生·容器·kubernetes·云计算·k8s
陈小肚2 小时前
k8s 1.28.2 集群部署 docker registry 接入 MinIO 存储
docker·容器·kubernetes
小扳3 小时前
Docker 篇-Docker 详细安装、了解和使用 Docker 核心功能(数据卷、自定义镜像 Dockerfile、网络)
运维·spring boot·后端·mysql·spring cloud·docker·容器
politeboy3 小时前
关于k8s中镜像的服务端口被拒绝的问题
云原生·容器·kubernetes
weixin_438197384 小时前
K8S创建云主机配置docker仓库
linux·云原生·容器·eureka·kubernetes