kube-apiserver安装和运行

安装(可直接下载二进制文件或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 xxx /usr/local/bin
- chmod +x kube-apiserver

运行(kube-apiserver如何正确访问这里有问题,以后调研下)

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

1
2
3
4
5
6
7
8
/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
# 设置 kube-apiserver 的 --experimental-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 配置的作用是 验证API 对象的数据, 这些对象包括 pods、services、replicationcontrollers 等。 为集群的共享状态提供前端, 所有其他组件都通过该前端进行交互