1.kubectl get nodes 命令
2.k8s中的常见资源:
pod,service,replicaset,deployment,statefulset,daemonset,job,crontab,ingress,
3.k8s中常用命令
master默认是所有pod的污点(taints)。不调度到master上。
使用kubectl describe node xxx可以看到污点信息。
4.kubectl version :查看所有版本信息
5.kubectl cluster-info 查看集群信息
6.启动nginx
kubectl run nginx-deploy --image=nginx:1.14 --replica=5 --port=80 --dry-run=true
镜像没有tag 默认latest
kubectl get deployment 查看
刚创建完的时候,available为0.等就绪完毕变成1.
kubectl get pod -o wide 查看更多信息
7.在一个node上,pod网络是属于cni0桥。10.244.2.1,掩码255.255.255.0 24位掩码10.244.2都是网络地址。属于该node上的网络都是10.244.2网段,10.244.2这个子网是10.244的子网,该子网专门用于该node的pod。其他的node上可能会是10.244.1这个网段。
这些节点智能在k8s集群内部节点通过这些ip访问。
8.访问该nginx:
curl 10.244.2.1
9.通过service暴露服务端口
kubectl expose deployment nginx-deploy --port=80 --target-port=80 --name=nginx --protocol=TCP
kubectl get svc 可以看到nginx的name的service
10.通过coredns可以访问service
master节点上执行kubectl get pods -n kube-system -o wide 查看coredns地址
kubectl get svc -n kube-system
进入pod客户端:
kubectl run client --image=busybox --replicas=1 -it --restart=never
cat /etc/resolv.conf
11.kubectl describe svc nginx 查看service的详细信息,endpoints的地址就是pod的地址
12.可以更改service的属性,比如更改service的地址
kubectl edit svc nginx
修改clusterip,保存。但是不支持修改。。。。。。。。。。。。
13.kubectl scale 改变副本规模
kubectl scale deployment myapp --replicas=5
14.更新镜像版本
kubectl describe pods myxxx
kubectl set image deployment myapp myapp=dockerhubhost/myapp:v2 灰度更新
kubectl rollout status deployment myapp :显示deploy的更新过程
回滚更新的镜像版本:
kubectl rollout undo deployment myapp 灰度回滚到v1版本
15.可以使用nodeport的方式访问service的地址