上一篇文章介绍了怎么安装kubernetes,现在我们来学习下kubernetes的常用命令
我们直接通过部署可视化控制台kubernetes-dashboard来顺便学习下kubernetes的常用命令及服务的部署
kubernetes dashboard部署
执行下面的命令下载及安装 kubernetes dashboard
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
默认安装完成以后 kubernetes dashboard 服务使用的是 clusterIP 只能在 k8s 的内网访问。
配置服务让外界可以访问
要解决这个问题我们可以创建一个 nodeport 服务对外直接暴露 node IP 和端口,让外界能够直接访问。
输入以下命令完成 nodeport 的创建:
kubectl expose deployment kubernetes-dashboard --type=NodePort --name=kubernetes-dashboard-nodeport -n kubernetes-dashboard
使用下面的命令可以检查 nodeport 服务的状态
kubectl get service kubernetes-dashboard-nodeport -n kubernetes-dashboard
现在在浏览器中输入 https://ip:port 就可以看到登录界面了。这里的 port 就是系统给我们分配的暴露 kubernetes dashboard 的端口。在上面的例子中是 32398
创建用户及角色
root@ictficial:/opt/k8s# vim dashboard-adminuser.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
执行:
kubectl apply -f dashboard-adminuser.yaml
生成 token
kubectl -n kubernetes-dashboard create token admin-user --duration=720h
保存好 token,以后我们需要使用 token 登录 kubernetes dashboard.
完成以上步骤后我们就可以通过 dashboard 访问和控制我们的 k8s 系统了。
常用命令
kubectl get node #查看集群节点状态
kubectl get ns #查看命名空间
kubectl get pods -n kube-system #查看pod状态 -n 指定命名空间
kubectl logs