1. 状态和日志
1.1 集群命令
[查看集群事件]kubectl get event -A
[查看全部节点状态]kubectl get node
[查看全部命名空间状态]kubectl get ns
[查看全部Deployment状态]kubectl get deployment -A
[查看全部节点资源占用]kubectl top node
[查看全部Pod资源占用]kubectl top pod -A
[使用YAML文件 kubernetes.yml创建实体]kubectl apply -f kubernetes.yml
[重启Kubernetes服务]systemctl restart kubelet
1.2 命名空间命令
[查看ns1命名空间上Pod的资源占用]kubectl -n ns1 top pod
[查看ns1命名空间上的事件]kubectl -n ns1 get event
1.3 节点命令
[查看node1节点日志]kubectl describe node node1
1.4 Pod命令
[查看全部Pod状态]kubectl get pod -A
[查看ns1命名空间上Pod状态]kubectl -n ns1 get pod
[查看ns1命名空间上Pod状态(详细)]kubectl -n ns1 get pod -o wide
[查看ns1命名空间运行中Pod pod1日志]kubectl -n ns1 logs pod1
[查看ns1命名空间已停止Pod pod1日志]kubectl -n ns1 describe pod pod1
[强制删除ns1命名空间的Pod pod1(不检查)]kubectl -n ns1 delete pod pod1 --force --grace-period=0
1.5 Deployment/Statefulset/Daemonset命令(以Deployment为例,Statefulset和Daemonset一样)
[查看全部Deployment状态]kubectl get deployment -A
[查看ns1命名空间上Deployment状态]kubectl -n ns1 get deployment
[查看ns1命名空间上Deployment dp1日志]kubectl -n ns1 describe deployment dp1
[将ns1命名空间的Deployment dp1的副本数量设为0]kubectl -n ns1 scale deployment dp1 --replicas=0
[重启ns1命名空间的Deployment dp1]kubectl -n ns1 rollout restart deployment/dp1
[查看ns1命名空间的Deployment dp1状态]kubectl -n ns1 rollout status deployment/dp1
[导出ns1命名空间的Deployment dp1的配置]kubectl -n ns1 get deployment dp1 -o yaml > dp1.yaml
[删除ns1命名空间的Deployment dp1]kubectl -n ns1 delete deployment dp1
1.6 Service命令
[查看全部Service状态]kubectl get service -A
[查看ns1命名空间上Service状态]kubectl -n ns1 get service
2. 创建NFS存储的StorageClass
1.在存储服务器安装NFS服务并共享文件夹/StorageShare
2.创建RBAC(Role-Based Access Control)
vi nfs-rbac.yaml
1 |
|
kubectl apply -f nfs-rbac.yaml
3.创建provisioner
vi nfs-provisioner.yaml
1 |
|
kubectl apply -f nfs-provisioner.yaml
3. KubeSphere创建Nginx+Ingress统一IP访问服务
1.KubeSphere开启网关服务,记录http端口。
2.创建tomcat示例工作负载,虚拟IP+不开放外部访问。
3.创建tomcat-svc服务,将tomcat工作负载的8080端口映射到服务8080端口。
4.创建应用路由,域名liuzh.ingress
,路由规则/tomcat对应tomcat-svc服务,此时访问liuzh.ingress:网关端口/tomcat
即可访问tomcat的8080端口。
5.在1.1.1.1服务器使用echo "1.1.1.1 liuzh.ingress" >> /etc/hosts
命令创建域名解析。
6.在1.1.1.1服务器安装Nginx,将liuzh.ingress:网关端口/
代理到1.1.1.1:80
,此时访问1.1.1.1:80/tomcat
即可访问tomcat的8080端口。
4. Kubernetes创建Nginx+Ingress统一IP访问服务
1.将Nginx Ingress Controller v1.3.0镜像拉取到私有镜像仓库。
2.创建Nginx Ingress Controller配置文件(注意修改镜像仓库地址):
vi nginx-ingress-controller.yaml
1 |
|
3.部署Nginx Ingress Controller。
kubectl apply -f nginx-ingress-controller.yaml
4.创建一个Ingress规则。
1 |
|
5.创建一个Nginx服务。
1 |
|
6.此时通过域名就可以访问Kubernetes的Nginx服务了(注意80端口会变成Nginx Ingress Controller的端口)。
5. 修改Kubernetes私有镜像仓库地址
未做配置时Kubernetes拉镜像时会以https
协议访问,假定已创建好的镜像仓库地址为http://10.10.10.10:80
。
1.编辑worker
节点上/etc/containerd/config.toml
,查找plugins."io.containerd.grpc.v1.cri".registry.mirrors
配置,调整为如下内容:
1 |
|
2.重启containerd
,使配置生效。
systemctl restart containerd
3.使用crictl pull
命令拉取新私有镜像仓库的镜像。
ctr i pull --plain-http 10.10.10.10/hch/tomcat:v9.0