gpt4 book ai didi

docker - 在图像中需要一个可用的 Kubectl 二进制文件

转载 作者:行者123 更新时间:2023-12-02 11:39:02 26 4
gpt4 key购买 nike

我的目标是拥有一个包含工作 Kubectl 二进制文件的 pod。

不幸的是,我使用基本 yaml 启动的来自 docker hub 的每个 kubectl 镜像都导致 CrashLoopbackOff 或其他。

有没有人有一些 yaml(部署、pod 等)可以让我获得 kubectl ?

我在那里用这个基本的 yaml 尝试了一堆图像:

apiVersion: apps/v1
kind: Deployment
metadata:
name: kubectl-demo
labels:
app: deploy
role: backend
spec:
replicas: 1
selector:
matchLabels:
app: deploy
role: backend
template:
metadata:
labels:
app: deploy
role: backend
spec:
containers:
- name: kubectl-demo
image: <SOME_IMAGE>
ports:
- containerPort: 80

谢谢

最佳答案

或者,您可以这样做。它在我的上下文中工作,在虚拟机上使用 kubernetes,我知道在哪里 kubeconfig文件。您需要进行必要的更改,以使其在您的环境中工作。

apiVersion: apps/v1
kind: Deployment
metadata:
name: kubectl
spec:
replicas: 1
selector:
matchLabels:
role: kubectl
template:
metadata:
labels:
role: kubectl
spec:
containers:
- image: viejo/kubectl
name: kubelet
tty: true
securityContext:
privileged: true
volumeMounts:
- name: kube-config
mountPath: /root/.kube/
volumes:
- name: kube-config
hostPath:
path: /home/$USER/.kube/
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: node-role.kubernetes.io/master
operator: Exists
tolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/master
operator: Exists

这是结果:
$ kubectl get po
NAME READY STATUS RESTARTS AGE
kubectl-cb8bfc6dd-nv6ht 1/1 Running 0 70s
$ kubectl exec kubectl-cb8bfc6dd-nv6ht -- kubectl get no
NAME STATUS ROLES AGE VERSION
kubernetes-1-17-master Ready master 16h v1.17.3
kubernetes-1-17-worker Ready <none> 16h v1.17.3

关于docker - 在图像中需要一个可用的 Kubectl 二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60504227/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com