kubernetes 常用 - alx696/share GitHub Wiki
$ kubectl get namespaces
$ kubectl delete namespaces kubernetes-dashboard
u@nm:~$ kubectl get svc -n kubernetes-dashboard
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
dashboard-metrics-scraper ClusterIP 10.100.94.22 <none> 8000/TCP 6m21s
kubernetes-dashboard NodePort 10.98.189.214 <none> 443:30000/TCP 6m21s
$ kubectl get pods --all-namespaces
$ kubectl logs -n rook-ceph --tail 10 rook-ceph-operator-5698b8bd78-tbqlp
注意:需要明确命名空间。
u@nm:~$ kubectl describe pod postgres-deployment-8b895b765-tsmb9
Name: postgres-deployment-8b895b765-tsmb9
Namespace: default
Priority: 0
Node: n2/192.168.1.4
Start Time: Tue, 28 Jul 2020 11:08:27 +0800
Labels: app=postgres
pod-template-hash=8b895b765
Annotations: <none>
Status: Pending
IP:
IPs: <none>
Controlled By: ReplicaSet/postgres-deployment-8b895b765
Containers:
...
$ kubectl exec -it pod名称 -- /bin/bash
如果Pod中有多个容器,增加
--container 容器名称
参数即可.
u@nm:~$ kubectl create -f postgres.yaml
persistentvolumeclaim/postgres-pv-claim created
deployment.apps/postgres-deployment created
service/postgres-service created
$ kubectl delete -f postgres.yaml
$ kubectl get svc 服务名
$ kubectl get statefulset 有状态组名
u@nm:~$ kubectl get deployments
NAME READY UP-TO-DATE AVAILABLE AGE
web 1/1 1 1 86m
$ kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
postgres-pv-claim Bound pvc-e3684c55-a29c-4672-9e38-9b57c26370eb 100Gi RWO rook-ceph-block 4m24s
$ kubectl describe pvc
如果遇到存储卷一直处于Pending状态,可以通过上面命令查看信息。
$ kubectl get namespace rook-ceph -o json > temp.json
$ nano temp.json
从finalizers属性数组中删除kubernetes。
$ kubectl proxy
$ kubectl replace --raw "/api/v1/namespaces/rook-ceph/finalize" -f ./temp.json
复制链接文件中的内容,保存为ui.yaml文件:
$ kubectl apply -f ui.yaml
执行
$ kubectl get svc -n kubernetes-dashboard
确认端口是否映射。
因为证书问题Chrome默认情况下不让访问,必须以忽略证书的形式启动Chrome:
$ google-chrome --ignore-certificate-errors
访问 https://ip:30000 即可打开网页,创建并输入token。
u@nm:~$ sudo kubectl create serviceaccount dashboard-admin -n kube-system
[sudo] password for u:
serviceaccount/dashboard-admin created
u@nm:~$ sudo kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
clusterrolebinding.rbac.authorization.k8s.io/dashboard-cluster-admin created
u@nm:~$ kubectl get secrets -n kube-system | grep dashboard-admin
dashboard-admin-token-dd6wf kubernetes.io/service-account-token 3 35s
u@nm:~$ sudo kubectl describe secrets -n kube-system dashboard-admin-token-dd6wf
Name: dashboard-admin-token-dd6wf
Namespace: kube-system
Labels: <none>
Annotations: kubernetes.io/service-account.name: dashboard-admin
kubernetes.io/service-account.uid: 497fdb13-9192-496a-a800-782db2f52502
Type: kubernetes.io/service-account-token
Data
====
ca.crt: 1025 bytes
namespace: 11 bytes
token: eyJhbGciOiJSUzI1NiIsImtpZCI6InAzQVVUNngwR0NoQUdkRmFTY0Y1SzdWWnZ2WnNPOGk4Ni00TEEtOEQtY3MifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4tZGQ2d2YiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiNDk3ZmRiMTMtOTE5Mi00OTZhLWE4MDAtNzgyZGIyZjUyNTAyIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmRhc2hib2FyZC1hZG1pbiJ9.D4MzP9eKNoac7yxHzzcw4dII4KD4SNx24mO05aT2Dl3AUu4_jQGJbzBJM0VfG51CFlcHzyBowXqoPPIfQhAYSoLfK_HwWVKVXMIT5x0DZ-IYwXKX-6g0nHLNQiQEKf1WR0YLWqV1w8_VHuZhdafyLqv4SjmoTZVKl6eqlQ7jELtAUp444OF7Pqu-eXDpcGpJ2hx4QLdiTNOD-W5sqCTsCeMMnMmCSh-U_JqRWwtrwR1Uuxrqk75KRKDcXiFzkpM3nqZVHwaaKdW5vfB9-vVVl32OSvx80NubD6xXd90DYTHLp1gepVjzwp_09gySBzqHO076XCbOE3rVJWs_U-d8YA
dashboard-admin-token-dd6wf
是随机的,根据实际情况替换即可。