我想通过 go 客户端获取 Kubernetes 中的节点列表及其状态。我正在使用
clientset.CoreV1().Nodes().List(metav1.ListOptions{})
并且能够获取节点列表和一些信息,例如节点标签,但我找不到那里status.phase(对于为我提供状态的 Pod)。
我搜索并发现NodeCondition(https://github.com/kubernetes/api/blob/9b64426eca51a74faa7cc9bd732a533d339c69c2/core/v1/types.go#L4911),但我找不到任何有关如何使用它的文档,我无法制作它我自己工作。有人可以告诉我如何通过客户端获取节点的状态吗?
我正在Linux机器上的本地主机上设置一个最小的Kubernetes集群(从已签出的存储库中以hack / local-up-cluster开始)。在我的部署文件中,我定义了一个入口,该入口应该可以从外部访问群集中部署的服务。Deployment.yml:
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: foo-service-deployment
spec:
replicas: 2
template:
metadata:
labels:
app: foo-service
spec:
containers:
- name: foo-service
image: images/fooservice
imagePullPolicy: IfNotPresent
ports:
- containerPort: 7778
---
apiVersion: v1
kind: Service
metadata:
name: foo-service-service
spec:
ports:
- port: 7778
selector:
app: foo-service
type: NodePort
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: api-gateway-ingress
spec:
rules:
- host:
http:
paths:
- path: /foo
backend:
serviceName: foo-service-service
servicePort: 7779
- path: /bar
backend:
serviceName: bar-service-service
servicePort: 7776 …Run Code Online (Sandbox Code Playgroud) apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: helloworld-rules
spec:
rules:
- host: helloworld-v1.example.com
http:
paths:
- path: /
backend:
serviceName: helloworld-v1
servicePort: 80
- host: helloworld-v2.example.com
http:
paths:
- path: /
backend:
serviceName: helloworld-v2
servicePort: 80
Run Code Online (Sandbox Code Playgroud)
我正在制作 kubernetes 集群,我将应用该 cloudPlatform 隔离(不是 aws 或 google)。在为服务创建入口时,我可以选择主机 url,但它在任何地方都不存在(该地址未注册类似 DNS 服务器的东西)所以我无法访问该 url。访问此 IP 只会给出 404。我如何获取或配置可以访问外部浏览器的 URL :(...
我有一些 go 程序在 pod 内运行。我将如何编写代码以使其通过 go-client 库知道其 pod 名称?