上一篇Kubernetes搭建本地实验环境 安装好可以本地运行的单节点Kubernetes,这里继续相关的配置, 主要涉及到:

  1. 配置私有Docker镜像仓库
  2. 通过kubectl命令访问Kubernetes

1、配置私有Docker镜像仓库

Minikube插件registry-creds, 将Google容器注册表(GCR),亚马逊EC2容器注册表(ECR)和私有Docker仓库注册表

凭证映射到Minikube。需要运行:minikube addons configure registry-credsminikube addons enable registry-creds 命令, 如:

1
2
3
4
5
6
7
8
9
$ minikube addons configure registry-creds
Do you want to enable AWS Elastic Container Registry? [y/n]: n

Do you want to enable Google Container Registry? [y/n]: y
-- Enter path to credentials (e.g. /home/user/.config/gcloud/application_default_credentials.json):/home/user/.config/gcloud/application_default_credentials.json

Do you want to enable Docker Registry? [y/n]: n
registry-creds was successfully configured
$ minikube addons enable registry-creds

k8s中配置私有容器registry更好的处理方式是使用ImagePullSecrets

2、通过kubectl命令访问Kubernetes

在Minikube通过虚拟机的方式运行Kubernetes,可以使用kubectl访问集群信息,如:

1
2
3
$ kubectl cluster-info
Kubernetes master is running at https://192.168.99.100:8443
KubeDNS is running at https://192.168.99.100:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

3、局域网中的其他机器通过kubectl命令访问集群

由于Minikube启动时是通过虚拟机的方式,此时只能本机访问,局域网中的其他机器无法访问。此时,可以通过kubectl proxy方式进访问。

1
$ kubectl proxy --address='0.0.0.0' --disable-filter=true &

默认将Kubernetes api代理到本地8001端口

复制本机/etc/kubernetes/kubelet.conf, 到目标机器 ~/.kube, 并重命名为config, 并将将https://192.168.1.128:8443, 修改为修改为本机ip, 如:http://192.168.1.111:80001 并保存。

此时,就可以在目标机器上使用kubectl命令访问集群。

参考

  1. insecure_registry
  2. Pull an Image from a Private Registry