1.ハーバー
ハーバーの設置と配備はここでは省略されています
2.構成ファイルを変更します
PS:K8sクラスターのDocker構成ファイルノードの変更も変更する必要があります。
[root@master ~]# vim /usr/lib/systemd/system/docker.service
#查找这一行 并删除更改为带IP的哪一行
ExecStart=/usr/bin/dockerd -H unix://
ExecStart=/usr/bin/dockerd --insecure-registry 192.168.1.43
[root@master ~]# systemctl daemon-reload
[root@master ~]# systemctl restart docker
3.ハーバーウェアハウスにログインします
[root@master ~]# docker login -u admin -p Harbor12345 192.168.1.43
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
4.ログインキーデータを表示します
[root@master ~]# cat .docker/config.json
{
"auths": {
"192.168.1.43": {
"auth": "YWRtaW46SGFyYm9yMTIzNDU="
}
},
"HttpHeaders": {
"User-Agent": "Docker-Client/18.09.0 (linux)"
}
5.基本暗号化を実行します
[root@master ~]# cat .docker/config.json | base64
ewoJImF1dGhzIjogewoJCSIxOTIuMTY4LjEuNDMiOiB7CgkJCSJhdXRoIjogIllXUnRhVzQ2U0dG
eVltOXlNVEl6TkRVPSIKCQl9Cgl9LAoJIkh0dHBIZWFkZXJzIjogewoJCSJVc2VyLUFnZW50Ijog
IkRvY2tlci1DbGllbnQvMTguMDkuMCAobGludXgpIgoJfQp9
6.シークレットリソースを作成します
[root@master ~]# vim secret.yaml
apiVersion: v1
kind: Secret
metadata:
name: registry-secret
type: kubernetes.io/dockerconfigjson
data:
.dockerconfigjson: ewoJImF1dGhzIjogewoJCSIxOTIuMTY4LjEuNDMiOiB7CgkJCSJhdXRoIjogIllXUnRhVzQ2U0dGeVltOXlNVEl6TkRVPSIKCQl9Cgl9LAoJIkh0dHBIZWFkZXJzIjogewoJCSJVc2VyLUFnZW50IjogIkRvY2tlci1DbGllbnQvMTguMDkuMCAobGludXgpIgoJfQp9
[root@master ~]# kubectl apply -f secret.yaml
secret/registry-secret created
7.シークレットリソースを参照するためのデプロイメントリソースを作成します
[root@master ~]# vim deployment.yaml
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
name: web
spec:
replicas: 2
template:
metadata:
labels:
app: web
spec:
imagePullSecrets:
- name: harbor-secret
containers:
- name: web
image: 192.168.1.43/web/httpd:v1
[root@master ~]# kubectl apply -f deployment.yaml
deployment.extensions/web created
結果を見る
[root@master ~]# kubectl get pod -o wide | grep web
web-599fb688c6-4jcqm 1/1 Running 0 81s 10.244.1.16 node02 <none> <none>
web-599fb688c6-q8blc 1/1 Running 0 81s 10.244.2.18 node01 <none> <none>
[root@master ~]# curl 10.244.1.16
111
[root@master ~]# curl 10.244.2.18
111