kube-apiserver 安装和运行

安装(二进制文件或镜像方式)

二进制文件下载:

1
2
3
4
# k8s 版本对应:https://github.com/kubernetes/kubernetes/releases
wget https://storage.googleapis.com/kubernetes-release/release/<对应k8s版本>/bin/linux/amd64/kube-apiserver
mv kube-apiserver /usr/local/bin/
chmod +x /usr/local/bin/kube-apiserver

运行

API Server 通过 kube-apiserver 二进制文件直接运行,下面的例子指定了 Service 分配的 IP 范围、etcd 的地址和对外提供服务的 IP 地址:

1
2
3
4
5
6
7
/usr/bin/kube-apiserver \
--service-cluster-ip-range=10.0.2.15/24 \
--etcd-servers=http://10.0.2.8:2379 \
--advertise-address=10.0.2.15 \
--bind-address=10.0.2.15 \
# --experimental-encryption-provider-config 参数已过期,使用 --encryption-provider-config 代替
--encryption-provider-config=/opt/secret/k8s-secret.yaml

直接访问 8080 端口,API Server 会返回它提供了哪些接口。

参数说明

参考官方文档:https://kubernetes.io/zh/docs/reference/command-line-tools-reference/kube-apiserver/

Kubernetes API Server 的作用是验证 API 对象的数据(包括 Pod、Service、ReplicationController 等),并为集群的共享状态提供前端,所有其他组件都通过该前端进行交互。