k8s入门操作

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加上后面那个端口即可

上一篇:又遇到莫名其妙的错误


下一篇:docker简单使用