我有一个Kubernetes集群,在其中创建了一个运行Pod的部署。不幸的是,在运行它之后,pod不想自行终止,而是进入了重新启动/ CrashLoopBackOff周期的连续状态。
第一次部署时,该命令(在入口点上)正确运行,我希望它仅运行一次。
我正在使用Python K8s API以编程方式部署配置了入口点的docker映像。这是我的部署YAML:
apiVersion: apps/v1
kind: Deployment
metadata:
name: kio
namespace: kmlflow
labels:
app: kio
name: kio
spec:
replicas: 1
selector:
matchLabels:
app: kio
name: kio
template:
metadata:
labels:
app: kio
name: kio
spec:
containers:
- name: kio-ingester
image: MY_IMAGE
command: ["/opt/bin/kio"]
args: ["some", "args"]
imagePullPolicy: Always
restart: Never
backofflimit: 0
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助
来自kubectl pod的输出是:
Name: ingest-160-779874b676-8pgv5
Namespace: kmlflow
Priority: 0
PriorityClassName: <none>
Node: 02-w540-02.glebe.kinetica.com/172.30.255.205
Start Time: Thu, 11 Oct 2018 13:31:20 -0400
Labels: app=kio
name=kio
pod-template-hash=3354306232
Annotations: …Run Code Online (Sandbox Code Playgroud) 我有一个简单的入口网络,我想从该入口网络访问不同名称空间的服务。
我该怎么做?我的入口网络yaml文件:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress
spec:
rules:
- host: api.myhost.com
http:
paths:
- backend:
serviceName: bookapi-2
servicePort: 8080
path: /booking-service/
Run Code Online (Sandbox Code Playgroud)
我已经将ExternalNames服务类型设置为yaml文件:
apiVersion: v1
kind: Service
metadata:
name: bookapi-2
namespace: booking-namespace
spec:
type: ExternalName
externalName: bookapi-2
ports:
- name: app
protocol: TCP
port: 8080
targetPort: 8080
selector:
app: bookapi-2
tier: backend-2
Run Code Online (Sandbox Code Playgroud)