我正在尝试Kubernetes与Docker. 我的图像与 Docker 一起运行。我有一个主节点和两个工作节点。我还创建了一个像这样的本地注册表$ docker run -d -p 5000:5000 --restart=always --name registry registry:2并将我的图像推送到其中。到目前为止一切正常。
我添加{ "insecure-registries":["xxx.xxx.xxx.xxx:5000"] }到daemon.json文件中/etc/docker。而且我还将docker-fileat的内容更改/etc/default/为DOCKER_OPTS="--config-file=/etc/docker/daemon.json". 我在所有节点上进行了更改,然后我重新启动了 docker 守护进程。
我可以使用以下命令从每个节点提取我的图像:
sudo docker pull xxx.xxx.xxx.xxx:5000/helloworldimage
我尝试使用以下命令从主节点创建我的容器:
sudo kubectl run test --image xxx.xxx.xxx.xxx:5000/helloworldimage
比我收到以下错误:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled <unknown> default-scheduler Successfully assigned default/test-775f99f57-m9r4b to rpi-2
Normal BackOff 18s (x2 over 44s) kubelet, rpi-2 Back-off pulling …Run Code Online (Sandbox Code Playgroud) 我使用 GitLab 进行 CI/CD,我想通过 ssh 到我的 Raspberry Pi 进行部署。我生成了一个新的ED25519 SSH密钥对,将私钥添加到变量中,并将公钥添加到部署密钥。
我的 gitlab-ci.yaml 文件如下所示:
deployment:
stage: deploy
before_script:
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- eval $(ssh-agent -s)
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
- ssh-add <(echo "$SSH_PRIVATE_KEY")
- apt-get install rsync
script:
- ssh pi@IP-ADDRESS "cd dockerproject2 && mkdir test"
tags:
- ssh
Run Code Online (Sandbox Code Playgroud)
这是我的部署阶段的输出:
$ …Run Code Online (Sandbox Code Playgroud) docker ×1
gitlab ×1
gitlab-ci ×1
json ×1
kubectl ×1
kubernetes ×1
private-key ×1
ssh ×1
ssh-keys ×1