每当镜像有更新时,我都会使用 CI 来更新我的 kubernetes 集群。每当推送镜像并具有最新标签时,kubectl 都会应用现有部署,但不会更新任何内容。
这就是运行的
$ kubectl apply --record --filename /tmp/deployment.yaml
我的目标是当运行应用时执行滚动部署。
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: api
spec:
replicas: 1
template:
metadata:
labels:
app: api
spec:
containers:
- name: api
image: us.gcr.io/joule-eed41/api:latest
imagePullPolicy: Always
ports:
- containerPort: 1337
args:
- /bin/sh
- -c
- echo running api;npm start
env:
- name: NAMESPACE
valueFrom:
configMapKeyRef:
name: config
key: NAMESPACE
Run Code Online (Sandbox Code Playgroud) 因此,我有 gcloud docker 映像,并想通过该映像使用 gcloud,但我需要进行身份验证,并且收到此错误。
ERROR: (gcloud.auth.activate-service-account) Could not read json file credentials.json: Invalid control character
这些是我正在使用的命令
echo -n "$GOOGLE_TOKEN" > /tmp/credentials.json
- cat /tmp/credentials.json
- gcloud auth activate-service-account --key-file=/tmp/credentials.json
并且服务帐户 json 确实适用于其他应用程序。