2.深入理解kubernetes:k8s常用命令

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的地址

你可能感兴趣的:(kubernetes,k8s,kubernetes)