kuberntes 使用harbor最为镜像仓库配置

1.必要条件

1.1 harbor 仓库安装完成
1.2 kubernetes 的kube-apiservce 服务启动时参数要有SecurityContextDeny,ServiceAccount两个参数

KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota"

1.3 使用docker login 命令登录你的harbor仓库可以成功,如下图:
这里写图片描述

2.配置

Generate a signing key:

openssl genrsa -out /tmp/serviceaccount.key 2048

Update /etc/kubernetes/apiserver:

KUBE_API_ARGS="--service_account_key_file=/tmp/serviceaccount.key"

Update /etc/kubernetes/controller-manager:

KUBE_CONTROLLER_MANAGER_ARGS="--service_account_private_key_file=/tmp/serviceaccount.key
  1. restart service
service kube-apiserver restart
service kube-controller-manager restart

5.执行以下命令你可以看到

kubectl get sa

这里写图片描述

kubectl describe sa default

这里写图片描述

黑色的初始是没有的,只用 default-token-rr4qc 执行下面的命令后 Images pull secrets:myregistrykey会出现

kubectl create secret docker-registry myregistrykey --docker-server=<your-registry-server> --docker-username=<your-name> --docker-password=<your-pword> --docker-email=<your-email>

6.编辑pod文件加入参数如下图
这里写图片描述

7.执行命令

kubectl create -f eureka-pod1.yml
kubectl get pods

可以看到下面的内容

可以从Harbor 仓库中 pull 镜像了。

参考链接:
https://github.com/kubernetes/kubernetes/issues/11355#issuecomment-127378691
http://dockone.io/article/1737

猜你喜欢

转载自blog.csdn.net/m0_37504101/article/details/78327463