我一直在尝试创建 docker 映像到 Kubernetes 集群的部署,但没有成功,我的部署.yaml 如下所示:
apiVersion: v1
kind: Pod
metadata:
name: application-deployment
labels:
app: application
spec:
serviceAccountName: gitlab
automountServiceAccountToken: false
containers:
- name: application
image: example.org:port1/foo/bar:latest
ports:
- containerPort: port2
volumes:
- name: foo
secret:
secretName: regcred
Run Code Online (Sandbox Code Playgroud)
但它无法获取图像。
无法提取图像“example.org:port1/foo/bar:latest”:rpc 错误:代码 = 未知 desc = 来自守护程序的错误响应:获取https://example.org:port1/v2/foo/bar/manifests/最新:拒绝:访问被禁止
中使用的秘密deployment.yaml是这样创建的:
kubectl create secret docker-registry regcred --docker-server=${CI_REGISTRY} --docker-username=${CI_REGISTRY_USER} --docker-password=${CI_REGISTRY_PASSWORD} --docker-email=${GITLAB_USER_EMAIL}
Run Code Online (Sandbox Code Playgroud)
尝试#1:添加 imagePullSecrets
...
imagePullSecrets:
- name: regcred
Run Code Online (Sandbox Code Playgroud)
结果是:
无法提取图像“example.org:port1/foo/bar:latest”:rpc 错误:代码 = 未知 desc = 来自守护程序的错误响应:获取https://example.org:port1/v2/foo/bar/manifests/最新:未经授权:HTTP 基本:访问被拒绝
解决方案:
我已在 …
我想从导航栏刷新我的卡片集,该导航栏是app.component.html的一部分,因此我准备了刷新()函数。
当它被调用时,它会更新变量 Cards 但不会在mainView.html中的 html 元素上的ngFor中渲染它。
如果我从mainView.html中的 html 元素调用(如(click)="loadCards()" ),它会渲染更新的集合,但如果在 app.component 中完成相同的((click)="refresh()" ),则不会渲染更新的集合。 html。
export class MainView implements OnInit {
constructor(private mMainController: MainController) {}
Cards: any = [];
ngOnInit() {
this.loadCards();
}
loadCards() {
this.mMainController.getAllCards().subscribe(
(data) => {this.Cards = data); },
(error) => {},
() => {console.log(this.Cards));
}
...
}
Run Code Online (Sandbox Code Playgroud)
export class MainView implements OnInit {
constructor(private mMainController: MainController) {}
Cards: any = [];
ngOnInit() {
this.loadCards(); …Run Code Online (Sandbox Code Playgroud)