kubectl -->apiserver
管理工具 管理k8s集群 增删改查node
kubectl get service/node/replicaset/deployment/statefulet/daemonset/job/cronjob
kubectl --help 查看所有用法
kubectl describe node node1 查看描述节点
kubectl version 查看版本
kubectl cluster-info 查看集群
增
kubectl run --help
kubectl run nginx --image=nginx
控制器名称/pod名 指定镜像
kubectl run nginx-deploy --image=nginx:1.14 --port=80 --replicas=3 --dry-run=true
暴露端口 创建3个副本 干跑(不会跑起来)
kubectl run nginx-deploy --image=nginx:1.14 --port=80 --replicas=3
kubectl run client --image=busybox --replicas=1 -it --restart=Never
交互输入终端 不会重启
kubectl get deployment
查看deployment控制信息
kubectl get pods
查看pod
kubectl get pods -o wide
显示更多的信息
curl 10.244.2.2 pod网络可在k8s集群中任一node访问 pod的客户端:其他pod 集群外的客户端
kubectl delete pod nginx-deploy-bc9ff65dd-72gjq
删除pod
kubectl delete pod pod名 删除之后deployment会重建pod保持3个副本
kubectl expose --help 创建service 暴露服务 serive_ip:service_port 转发到pod的ip和端口
kubectl expose deployment nginx-deploy --name=nginx --port=80 --target-port=80
控制器类型 控制器名 service name service端口 映射的容器端口
kubectl get service 查看创建的服务
curl 10.103.245.170 service网络是集群内部的网络 只能在集群内访问
kubectl get pods -n kube-system -o wide 查看core_dns
kubectl get service -n kube-system 查看coredns的service服务
kubectl describe service nginx 查看nginx服务的详细描述信息
kubectl get pods --show-labels 查看pod并显示label标签 service通过label识别pod
kubectl edit service nginx 修改服务
kubectl delete service nginx 删除服务
kubectl expose deployment nginx-deploy --name=nginx
kubectl describe deployment nginx-deploy 查看创建的控制器描述信息
kubectl run myapp --image=ikubernetes/myapp:v1 --replicas=2
kubectl get deployment -w -w监控创建过程
kubectl get pods -o wide 查看myapp
在client的pod内测试访问myapp的ip
wget -O - -q 10.244.2.3
wget -O - -q 10.244.1.9/hostname.html host名称
kubectl expose deployment myapp --name=myapp --port=80 暴露服务
kubectl get svc 查看暴露的服务
在client的pod内测试访问myapp的service名称
wget -O - -q myapp/hostname.html
while true;do wget -O - -q myapp/hostname.html; sleep 1 ;done
kubectl scale --help 改变规模
kubectl scale --replicas=5 deployment myapp 改成5个副本
kubectl get pods 查看一下
kubectl scale --replicas=5 deployment myapp 减到1个副本
kubectl describe pods myapp-746644f8d6-45r2x 查看pod的容器名
kubectl set image deployment myapp myapp=ikubernetes/myapp:v2 升级镜像
控制器 容器名 容器名=镜像名
kubectl rollout status deployment myapp 查看容器更新过程
kubectl rollout undo deployment myapp myapp回滚
iptables -vnL -t nat 查看service规则
外部访问:
kubectl edit service myapp
修改
type: NodePort
查看myapp映射端口 外部访问的是后面那个端口
kubectl get svc
结果:80:31771/TCP
外部访问master或node加上后面那个端口即可