当我尝试测试kubectl的配置时
kubectl get svc
Run Code Online (Sandbox Code Playgroud)
我收到此错误:服务器没有资源类型“ svc”
当我尝试这个命令
kubectl get services
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:与服务器localhost:8080的连接被拒绝-您是否指定了正确的主机或端口?
我正在按照本用户指南在Mac上部署kubernetes应用程序
https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html#eks-create-cluster
Admins-MacBook-Pro:~ Harshin$ kubectl version --short --client
Run Code Online (Sandbox Code Playgroud)
客户端版本:v1.10.3
请帮我!!
我用docker启动了couchbase社区,如下所示:
docker run -e CB_RAMSIZE=256 -e "CB_ADMIN_PWD=123456" --name couchbase-community -p 8091-8094:8091-8094 -p 11210:11210 crobin/couchbase-community
我现在正试图阻止它
docker stop couchbase-community
docker kill couchbase-community
docker kill -s 9 couchbase-community
Run Code Online (Sandbox Code Playgroud)
没有什么能阻止它.
它只是活着.无论如何我要停止那个容器?!
的结果 docker ps -a
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9deed40a7db9 crobin/couchbase-community "bash /bin/start-cb.…" 32 hours ago Up 32 hours (healthy) 0.0.0.0:8091-8094->8091-8094/tcp, 11207/tcp, 11211/tcp, 0.0.0.0:11210->11210/tcp, 18091-18094/tcp couchbase-community
7b265619e593 nginx "--name nginx" 8 weeks ago Created 80/tcp laughing_brahmagupta
65f7ebdf03ba nginx "1000" 8 weeks ago Created 80/tcp lucid_heyrovsky
e402edffeeaa …Run Code Online (Sandbox Code Playgroud) 如何使用标签从kubernetes仪表板中选择Pod?
类似的东西:
$ Kubectl get pods -l environment=production,tier=frontend
Run Code Online (Sandbox Code Playgroud) 我有我正在做的 docker 图像
docker run --name test -h test -p 9043:9043 -p 9443:9443 -d ibmcom/websphere-traditional:install
Run Code Online (Sandbox Code Playgroud)
我试图放入一个 kubernetes 部署文件,我有这个:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: websphere
spec:
replicas: 1
template:
metadata:
labels:
app: websphere
spec:
containers:
- name: websphere
image: ibmcom/websphere-traditional:install
ports:
- containerPort: 9443
resources:
requests:
memory: 500Mi
cpu: 0.5
limits:
memory: 500Mi
cpu: 0.5
imagePullPolicy: Always
Run Code Online (Sandbox Code Playgroud)
我的服务.yaml
apiVersion: v1
kind: Service
metadata:
name: websphere
labels:
app: websphere
spec:
type: NodePort #Exposes the service as a node ports
ports:
- …Run Code Online (Sandbox Code Playgroud) 我有一个裸机Kubernetes定制设置(手动使用Kubernetes艰难地设置集群)。一切似乎正常,但我无法从外部访问服务。
我可以在curl时获得服务列表:
https://<ip-addr>/api/v1/namespaces/kube-system/services
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试代理时(使用kubectl proxy,也使用<master-ip-address>:<port>):
https://<ip-addr>/api/v1/namespaces/kube-system/services/toned-gecko-grafana:80/proxy/
Run Code Online (Sandbox Code Playgroud)
我得到:
Error: 'dial tcp 10.44.0.16:3000: connect: no route to host'
Trying to reach: 'http://10.44.0.16:3000/'
Run Code Online (Sandbox Code Playgroud)
即使我正常卷曲,能够解决此问题,请检查以下内容。http://10.44.0.16:3000/我也会遇到相同的错误。这是我是否从安装Kubernetes的VM内部卷曲的结果。
我可以使用NodePort从外部访问我的服务。
如果通过Nginx-Ingress公开我的服务,则可以访问它们。
我将Weave用作CNI,并且日志很正常,除了开始时有几条关于它无法访问命名空间的日志行(RBAC错误)。尽管那之后日志还不错。
使用CoreDNS,日志看起来很正常。APIServer和Kubelet日志看起来很正常。Kubernetes-Events看起来也很正常。
附加说明:我分配的DNS服务IP是10.3.0.10,服务IP范围是:10.3.0.0/24,而POD网络是10.2.0.0/16。我不确定10.44.x.x它是什么或它来自哪里。
这是其中一项服务的输出:
{
"kind": "Service",
"apiVersion": "v1",
"metadata": {
"name": "kubernetes-dashboard",
"namespace": "kube-system",
"selfLink": "/api/v1/namespaces/kube-system/services/kubernetes-dashboard",
"uid": "5c8bb34f-c6a2-11e8-84a7-00163cb4ceeb",
"resourceVersion": "7054",
"creationTimestamp": "2018-10-03T00:22:07Z",
"labels": {
"addonmanager.kubernetes.io/mode": "Reconcile",
"k8s-app": "kubernetes-dashboard",
"kubernetes.io/cluster-service": "true"
},
"annotations": {
"kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"addonmanager.kubernetes.io/mode\":\"Reconcile\",\"k8s-app\":\"kubernetes-dashboard\",\"kubernetes.io/cluster-service\":\"true\"},\"name\":\"kubernetes-dashboard\",\"namespace\":\"kube-system\"},\"spec\":{\"ports\":[{\"port\":443,\"targetPort\":8443}],\"selector\":{\"k8s-app\":\"kubernetes-dashboard\"}}}\n" …Run Code Online (Sandbox Code Playgroud) 我可以理解,从本地机器到 Minikube VM 访问 docker 镜像的不同方式。
(Kubernetes + Minikube) 无法从本地注册表获取 docker 镜像
所有这些示例均适用于 Mac/Linux 用户。
我正在为 Windows 用户寻找等效的建议。
什么是 windows 等价于 -> eval $(minikube docker-env)
我收到错误,因为 Docker 需要 64 位配置,有什么方法可以在 32 位系统中安装 docker。它是具有 Windows 7 机器的 32 位 i3 处理器。
我有示例 k8s 作业,只要您执行 kubectl apply,作业就会被触发并创建 pod。如何控制Pod的创建?
apiVersion: batch/v1
kind: Job
metadata:
name: pi-with-timeout
spec:
backoffLimit: 5
activeDeadlineSeconds: 100
template:
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
restartPolicy: Never
Run Code Online (Sandbox Code Playgroud) 根据Jenkins Pipeline Docs的介绍,在使用Docker时,我应该能够使用管道步骤。但是,“ archiveArtifacts ”似乎不起作用:
def container = docker.image("some_image")
container.inside {
sh 'date > /tmp/test.txt'
sh 'cat /tmp/test.txt' //works, shows file
def fileContents = readFile '/tmp/test.txt' //works
echo "Contents: ${fileContents}" //works, shows file
archiveArtifacts '/tmp/*.txt' //FAILS
}
Run Code Online (Sandbox Code Playgroud)
“ 错误:找不到与文件模式“ /tmp/*.txt”匹配的工件。配置错误?”。
我尝试过的事情:
关于归档Docker容器中生成的文件有什么建议吗?
PS:我打开了一个错误报告 ...看来archiveArtifacts仅适用于Docker容器中$ WORKSPACE中的文件。
用例/问题
我负责维护一个有 40 个节点的 kubernetes 集群(分为 2 个区域)。我们有大约 100 个微服务和平台东西,比如在这个集群中运行的 Kafka 代理。所有微服务都定义了资源请求和限制。然而,它们中的大多数都是可突发的,并且没有保证的 RAM。在我们的集群中部署服务的开发人员定义的限制远大于请求(参见下面的示例),最终导致各个节点上的大量 pod 被驱逐。不过,我们仍然希望在我们的服务中使用可爆发资源,因为我们可以使用可爆发资源来节省资金。因此,我需要更好地监控每个节点上运行的所有 pod 的可能性,其中包含以下信息:
通过这种方式,我可以轻松识别两种有问题的服务:
案例 A:微服务只是设置了巨大的资源限制,因为开发人员只是在测试东西或者懒得去测试/监控他的服务
resources:
requests:
cpu: 100m
ram: 500Mi
limits:
cpu: 6
ram: 20Gi
Run Code Online (Sandbox Code Playgroud)
案例B:同一节点上的服务太多,资源限制设置不准确(例如500Mi,但服务一直使用1.5Gi RAM)。这种情况发生在我们身上,因为 Java 开发人员没有注意到 Java 垃圾收集器只会在使用 75% 的可用 RAM 时才开始清理。
我的问题:
我如何才能正确监控这一点,从而识别错误配置的微服务,以防止出现此类驱逐问题?在较小的规模下,我可以简单地运行kubectl describe nodes并kubectl top pods手动计算出来,但在这种规模下不再起作用。
注意:我找不到此问题的任何现有解决方案(包括使用 kube 指标和类似的 prometheus + grafana 板)。我认为这是可能的,但在 Grafana 中可视化这些东西真的很难。
kubernetes ×7
docker ×4
32-bit ×1
amazon-eks ×1
couchbase ×1
jenkins ×1
kubectl ×1
minikube ×1
monitoring ×1
networking ×1