kube-apiserver启动参数:
--advertise-address=192.168.x.x
--allow-privileged=true
--apiserver-count=1 #集群中apiserver的数量,--endpoint-reconciler-type=master-count时有效
--authorization-mode=Node,RBAC
--client-ca-file=/etc/kubernetes/pki/ca.crt
--enable-admission-plugins=NodeRestriction,MutatingAdmissionWebhook
--enable-bootstrap-token-auth=true
--etcd-servers=http://localhost:2379
--insecure-port=0
--kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt
--kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key
--kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
--proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.crt
--proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client.key
--requestheader-allowed-names=front-proxy-client #客户端证书通用名称列表,允许在由——requestheader-username-headers指定的标头中提供用户名。如果为空,则允许使用在——requestheader-client-ca-file中验证的任何客户端证书。
--requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt
--requestheader-extra-headers-prefix=X-Remote-Extra- #要检查的请求头前缀列表。X-Remote-Extra- 建议
--requestheader-group-headers=X-Remote-Group #用于检查组的请求头列表。X-Remote-Group建议
--requestheader-username-headers=X-Remote-User #用于检查用户名的请求头列表,X-Remote-User是常见的。
--secure-port=6443
--service-account-key-file=/etc/kubernetes/pki/sa.pub
--service-cluster-ip-range=10.96.0.0/12
--service-node-port-range=30000-31000
--tls-cert-file=/etc/kubernetes/pki/apiserver.crt
--tls-private-key-file=/etc/kubernetes/pki/apiserver.key
--v=2
--feature-gates=TTLAfterFinished=true
--encryption-provider-config=/etc/kubernetes/pki/encryption.conf
pod使用私有镜像仓库的几种方法:
- 创建docker-registry类型的secret
① 登录 docker 私有镜像仓库后,家目录中生成docker的配置文件,其中包含仓库及认证信息
#docker login docker-hub:5000
#cat ~/.docker/config.json
{
"auths": {
"hub.intra.mlamp.cn": {
"auth": "xxxxxxx" # username:password 做base64
}
}
}
② 通过 docker 配置文件创建 secret
#kubectl create secret generic <secret-name> \
--from-file=.dockerconfigjson=<path/to/.docker/config.json> \
--type=kubernetes.io/dockerconfigjson
#kubectl get secret <secret-name> -oyaml
apiVersion: v1
data:
.dockerconfigjson: xxxxxx
kind: Secret
metadata:
name: hub-sec
type: kubernetes.io/dockerconfigjson
kubectl create secret docker-registry <secret-name> --docker-server=docker-hub:5000 --docker-username=admin --docker-password=admin --docker-email=xxx@hub.com
- pod的定义文件中通过imagePullSecrets参数指定步骤1中的secret
spec:
...
imagePullSecrets:
- name: hub-sec