kubernetes--kubectl命令与yaml文件格式

kubectl命令管理

kubectl是管理k8s群集的命令工具,通过生成的json格式传递给apiserver进行创建、查看、管理等操作

命令帮助

查看帮助信息,使用–help可以让我们了解
[root@master ~]# kubectl --help

命令之项目生命周期

我们从一个项目的生命周期:创建–发布–更新–回滚–删除的过程来更加了解kubectl命令

创建资源

使用kebectl run

[root@master ~]# kubectl run nginx --image=nginx:latest --port=80 --replicas=3
可以查看一下
使用-w可查看创建过程
由于敲命令时需要时间的所有会缺少一些过程
[root@master ~]# kubectl get pods -w
查看创建好的pod
[root@master ~]# kubectl get pods
查看pod,deployment,和service,replicas
[root@master ~]# kubectl get all
[root@master demo]# kubectl get all
NAME                                  READY   STATUS    RESTARTS   AGE
pod/nginx-deployment-d55b94fd-9qmjl   1/1     Running   0          35m
pod/nginx-deployment-d55b94fd-fnpwk   1/1     Running   0          35m
pod/nginx-deployment-d55b94fd-v5wmj   1/1     Running   0          35m

NAME                    TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)        AGE
service/kubernetes      ClusterIP   10.0.0.1     <none>        443/TCP        12d
NAME                               DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/nginx-deployment   3         3         3            3           35m

NAME                                        DESIRED   CURRENT   READY   AGE
replicaset.apps/nginx-deployment-d55b94fd   3         3         3       35m

这里需要说明的是一个pod会有一个deployment和一个replicaset支持,deployment支持业务更新,replicaset用于维持副本数量
service其实是业务发布部分,这里的service是系统中的,还不是我们刚刚创建的pod的发布,在发布的步骤中会生成新的service

发布资源

在k8s中关于端口有四种

  • port
    是k8s群集内部访问service的端口,即通过clusterip:port可以访问到某个service
  • nodeport
    是外部访问k8s群集中的service的端口,即通过nodeip:nodeport可以从外部访问到k8s群集的service
  • targetport
    是pod的端口,从port和nodeport来的流量经过kube-proxy流入到后端pod的targetport上,最后进入容器
  • containerport
    是pod内容器的端口,targetport映射到containerport
    在这里插入图片描述
    发布资源相当于端口映射的过程
[root@master ~]# kubectl expose deployment nginx --port=80 --target-port=80 --name=nginx-service --type=NodePort
service/nginx-service exposed
[root@master ~]# kubectl get service
NAME            TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)        AGE
kubernetes      ClusterIP   10.0.0.1     <none>        443/TCP        11d
nginx-service   NodePort    10.0.0.85    <none>        80:34242/TCP   13s
查看关联后端的节点
[root@master ~]# kubectl get endpoints
NAME            ENDPOINTS                                     AGE
kubernetes      20.0.0.10:6443,20.0.0.20:6443                 11d
nginx-service   172.17.3.3:80,172.17.47.3:80,172.17.47.4:80   3m22s
查看网络状态详细信息
[root@master ~]# kubectl get pods,svc -o wide
NAME                         READY   STATUS    RESTARTS   AGE   IP            NODE        NOMINATED NODE
pod/nginx-7697996758-qzzjr   1/1     Running   0          11m   172.17.3.3    20.0.0.30   <none>
pod/nginx-7697996758-w2spn   1/1     Running   0          11m   172.17.47.4   20.0.0.40   <none>
pod/nginx-7697996758-xn66n   1/1     Running   0          11m   172.17.47.3   20.0.0.40   <none>

NAME                    TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)        AGE     SELECTOR
service/kubernetes      ClusterIP   10.0.0.1     <none>        443/TCP        11d     <none>
service/nginx-service   NodePort    10.0.0.85    <none>        80:34242/TCP   6m42s   run=nginx

此时访问node节点ip和映射的34242的端口,即可访问nginx的服务
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值