kubernetes使用命令行的方式管理Kubernetes资源

在K8s中创建资源的方式有两种:命令行和YAML文件,本次博文主要介绍使用使用命令行的方式管理Kubernetes资源,如需使用命令行创建资源请参考:kubernetes使用YAML的方式管理Kubernetes资源

一、资源创建

[root@master ~]# kubectl run test --image=nginx:latest --replicas=5
//基于httpd的镜像创建一个deployment类型的控制组,名称为test,并指定副本数量为5
[root@master ~]# kubectl get deployments.       //查看deployment控制器
NAME   READY   UP-TO-DATE   AVAILABLE   AGE
test   5/5     5            5           6m26s
//可以看到deployment的name是我们指定的test
[root@master ~]# kubectl get replicasets.        //查看replicasets这个控制器
NAME              DESIRED   CURRENT   READY   AGE
test-66cbf74d74   5         5         5       7m50s
//可以看到replicasets的NAME就是在deployment的NAME后面追加了一串ID号
[root@master ~]# kubectl get pod -o wide        //查看pod的详细信息
NAME                    READY   STATUS    RESTARTS   AGE   IP           NODE     NOMINATED NODE   READINESS GATES
test-66cbf74d74-cphx4   1/1     Running   0          80s   10.244.1.3   node01   <none>           <none>
test-66cbf74d74-fbqkv   1/1     Running   0          80s   10.244.2.4   node02   <none>           <none>
test-66cbf74d74-pxqx5   1/1     Running   0          80s   10.244.1.5   node01   <none>           <none>
test-66cbf74d74-txpnn   1/1     Running   0          80s   10.244.2.3   node02   <none>           <none>
test-66cbf74d74-v6cn2   1/1     Running   0          80s   10.244.1.4   node01   <none>           <none>

//可以看到该pod的NAME就是在上面replicasets的后面又追加了一段ID

也可以使用以下方法,查看控制器的详细信息!方法如下:

[root@master ~]# kubectl describe deployments. test
//查看名为test控制器的详细信息

返回的信息如图:
在这里插入图片描述

[root@master ~]# kubectl describe replicasets. test
//查看replicasets控制器的详细信息

返回的结果如图:
在这里插入图片描述
从以上创建一个pod的过程中,就可以看出当我们执行创建资源的命令后,deployment这个控制器会通过replicaset控制器去管理并创建所需的pod!

二、解决客户端无法访问k8s内部pod所运行的服务
当k8s集群创建pod完成后,集群内部是可以访问pod所提供的服务的,方法如下:

[root@master ~]# kubectl get pod -o wide         //查看pod的详细信息
NAME                    READY   STATUS    RESTARTS   AGE   IP           NODE     NOMINATED NODE   READINESS GATES
test-66cbf74d74-cphx4   1/1     Running   0          80s   10.244.1.3   node01   <none>           <none>
test-66cbf74d74-fbqkv   1/1     Running   0          80s   10.244.2.4   node02   <none>           <none>
test-66cbf74d74-pxqx5   1/1     Running   0          80s   10.244.1.5   node01   <none>           <none>
test-66cbf74d74-txpnn   1/1     Running   0          80s   10.244.2.3   node02   <none>           <none>
test-66cbf74d74-v6cn2   1/1     Running   0          80s   10.244.1.4   node01   <none>           <none>

集群内部测试访问:
在这里插入图片描述

三、解决k8s内部pod所运行的服务无法被外网访问

[root@master ~]# kubectl run web --image=nginx:latest --port=80 --replicas=2
//创建一个名为web的deployment的资源对象,并映射容器的80端口到宿主机
[root@master ~]# kubectl expose deployment web --name=service --port=80 --type=NodePort
//创建一个service(名称可以自定义),将部署web资源对象的80端口映射出来
[root@master ~]# kubectl get svc service      //查看创建service的信息
NAME      TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
service   NodePort   10.105.28.224   <none>        80:31590/TCP   6s
//可以看出将部署的服务端口映射到了宿主机的31590端口

客户端访问测试:
注意:是访问群集中任意节点都可以访问k8s集群中pod所提供的服务!在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值