Kubernetes edit svc vs edit service(是编辑同一个文件吗?)

Kubernetes edit svc vs edit service (is it editing the same file?)

我安装了 kubernetes,我觉得一切正常。 (请注意,这些是在下面编辑文件并更改为 NodePort 后的输出)

sudo kubectl get deployment kubernetes-dashboard -n kubernetes-dashboard
NAME                   READY   UP-TO-DATE   AVAILABLE   AGE
kubernetes-dashboard   1/1     1            1           85m

sudo kubectl describe service kubernetes-dashboard -n kubernetes-dashboard
Name:                     kubernetes-dashboard
Namespace:                kubernetes-dashboard
Labels:                   k8s-app=kubernetes-dashboard
Annotations:              <none>
Selector:                 k8s-app=kubernetes-dashboard
Type:                     NodePort
IP Family Policy:         SingleStack
IP Families:              IPv4
IP:                       10.102.39.197
IPs:                      10.102.39.197
Port:                     <unset>  443/TCP
TargetPort:               8443/TCP
NodePort:                 <unset>  30306/TCP
Endpoints:                10.244.0.4:8443
Session Affinity:         None
External Traffic Policy:  Cluster
Events:
  Type    Reason  Age   From                Message
  ----    ------  ----  ----                -------
  Normal  Type    45m   service-controller  NodePort -> LoadBalancer
  Normal  Type    16m   service-controller  LoadBalancer -> NodePort

sudo kubectl get all -n kubernetes-dashboard
NAME                                             READY   STATUS    RESTARTS   AGE
pod/dashboard-metrics-scraper-856586f554-5bps6   1/1     Running   0          69m
pod/kubernetes-dashboard-67484c44f6-dtc27        1/1     Running   0          69m

NAME                                TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)         AGE
service/dashboard-metrics-scraper   ClusterIP   10.107.30.72    <none>        8000/TCP        69m
service/kubernetes-dashboard        NodePort    10.102.39.197   <none>        443:30306/TCP   69m

NAME                                        READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/dashboard-metrics-scraper   1/1     1            1           69m
deployment.apps/kubernetes-dashboard        1/1     1            1           69m

NAME                                                   DESIRED   CURRENT   READY   AGE
replicaset.apps/dashboard-metrics-scraper-856586f554   1         1         1       69m
replicaset.apps/kubernetes-dashboard-67484c44f6        1         1         1       69m

sudo kubectl get all --all-namespaces
    NAMESPACE              NAME                                             READY   STATUS    RESTARTS   AGE
    kube-system            pod/coredns-558bd4d5db-9fxkw                     1/1     Running   0          71m
    kube-system            pod/coredns-558bd4d5db-bq79s                     1/1     Running   0          71m
    kube-system            pod/etcd-dyd-001                                 1/1     Running   0          71m
    kube-system            pod/kube-apiserver-dyd-001                       1/1     Running   0          71m
    kube-system            pod/kube-controller-manager-dyd-001              1/1     Running   0          71m
    kube-system            pod/kube-flannel-ds-amd64-hh5qm                  1/1     Running   0          71m
    kube-system            pod/kube-proxy-4pg4r                             1/1     Running   0          71m
    kube-system            pod/kube-scheduler-dyd-001                       1/1     Running   0          71m
    kubernetes-dashboard   pod/dashboard-metrics-scraper-856586f554-5bps6   1/1     Running   0          71m
    kubernetes-dashboard   pod/kubernetes-dashboard-67484c44f6-dtc27        1/1     Running   0          71m
    
NAMESPACE              NAME                                TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                  AGE
default                service/kubernetes                  ClusterIP   10.96.0.1       <none>        443/TCP                  71m
kube-system            service/kube-dns                    ClusterIP   10.96.0.10      <none>        53/UDP,53/TCP,9153/TCP   71m
kubernetes-dashboard   service/dashboard-metrics-scraper   ClusterIP   10.107.30.72    <none>        8000/TCP                 71m
kubernetes-dashboard   service/kubernetes-dashboard        NodePort    10.102.39.197   <none>        443:30306/TCP            71m

NAMESPACE     NAME                                     DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR            AGE
kube-system   daemonset.apps/kube-flannel-ds-amd64     1         1         1       1            1           <none>                   71m
kube-system   daemonset.apps/kube-flannel-ds-arm       0         0         0       0            0           <none>                   71m
kube-system   daemonset.apps/kube-flannel-ds-arm64     0         0         0       0            0           <none>                   71m
kube-system   daemonset.apps/kube-flannel-ds-ppc64le   0         0         0       0            0           <none>                   71m
kube-system   daemonset.apps/kube-flannel-ds-s390x     0         0         0       0            0           <none>                   71m
kube-system   daemonset.apps/kube-proxy                1         1         1       1            1           kubernetes.io/os=linux   71m

NAMESPACE              NAME                                        READY   UP-TO-DATE   AVAILABLE   AGE
kube-system            deployment.apps/coredns                     2/2     2            2           71m
kubernetes-dashboard   deployment.apps/dashboard-metrics-scraper   1/1     1            1           71m
kubernetes-dashboard   deployment.apps/kubernetes-dashboard        1/1     1            1           71m

NAMESPACE              NAME                                                   DESIRED   CURRENT   READY   AGE
kube-system            replicaset.apps/coredns-558bd4d5db                     2         2         2       71m
kubernetes-dashboard   replicaset.apps/dashboard-metrics-scraper-856586f554   1         1         1       71m
kubernetes-dashboard   replicaset.apps/kubernetes-dashboard-67484c44f6        1         1         1       71m
    

我正在按照教程安装 Kubernetes 仪表板。 https://k21academy.com/docker-kubernetes/kubernetes-dashboard/ 此命令不会显示 Kubernetes 仪表板,它只会显示 kubernetes。

在他的示例中,它显示了 kubernetes Metrics scraper 和 kubernetes dashboard,当我这样做时它只显示 kubernetes。不知道为什么

sudo kubectl get svc

    NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
    kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP   44m

因此我只能使用以下命令编辑 kubernetes,但我不想编辑 kubernetes。我想改为编辑 service/kubernetes-dashboard。

有效但我认为不是正确的文件:

sudo kubectl edit service/kubernetes

无效:

sudo kubectl edit service/kubernetes-dashboard

所以改用这个命令来编辑 Kubernetes-dashboard 但我不确定它们是否是相同的文件:

sudo kubectl -n kubernetes-dashboard edit svc kubernetes-dashboard

第 1 题

为什么当我使用这个命令时没有显示 kubernetes 仪表板和指标抓取器?我该如何让它显示出来?

sudo kubectl get svc

第 2 题

这两个命令是在编辑同一个文件吗?

sudo kubectl edit service/kubernetes-dashboard

sudo kubectl -n kubernetes-dashboard edit svc kubernetes-dashboard

第 3 题

如果我编辑的文件是: sudo kubectl -n kubernetes-dashboard 编辑 svc kubernetes-dashboard 与我使用此命令时正在编辑的文件不同:

sudo kubectl edit service/kubernetes-dashboard

如果我不确定它以前的样子,我该如何修复或恢复我用第一个命令所做的更改? 我可以以某种方式删除文件并在应用推荐后重新生成它吗?

我正在尝试安装仪表板,但没有获得外部 IP。

当您安装 dashboard 时,您使用了以下命令。

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml $ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml

如果你打开 recommended.yaml 你会发现它使用 namespace 作为 kubernetes-dashboard。例如:

kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard

第 2 个答案: 不,您正在混合命名空间,因为您使用的命令很少 default 命名空间。但是,对于其他人,您使用了 kubernetes-dashboard 命名空间。

这两个命令是在编辑同一个文件吗?

sudo kubectl edit service/kubernetes-dashboard

sudo kubectl -n kubernetes-dashboard edit svc kubernetes-dashboard

答案 3:与答案 #2 相同。您需要使用一致的命名空间。

要还原:

您需要删除您在默认命名空间上创建的资源,并与命名空间保持一致。另外,要重新开始,您可以使用 kubectl delete -f <same path as used for installation> 清理这些东西。

kubectl delete -f  https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml
kubectl delete -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml

例如:

kubectl delete -f  https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml
namespace "kubernetes-dashboard" deleted
serviceaccount "kubernetes-dashboard" deleted
service "kubernetes-dashboard" deleted
secret "kubernetes-dashboard-certs" deleted
secret "kubernetes-dashboard-csrf" deleted
secret "kubernetes-dashboard-key-holder" deleted
configmap "kubernetes-dashboard-settings" deleted
role.rbac.authorization.k8s.io "kubernetes-dashboard" deleted
clusterrole.rbac.authorization.k8s.io "kubernetes-dashboard" deleted
rolebinding.rbac.authorization.k8s.io "kubernetes-dashboard" deleted
clusterrolebinding.rbac.authorization.k8s.io "kubernetes-dashboard" deleted
deployment.apps "kubernetes-dashboard" deleted
service "dashboard-metrics-scraper" deleted
deployment.apps "dashboard-metrics-scraper" deleted