Kubernetes-----kubuctl项目管理

本文介绍了如何使用kubectl命令管理Kubernetes项目,包括创建项目、发布带有负载均衡的nginx服务、升级nginx到1.14版本、回滚及删除nginx的操作步骤。
摘要由CSDN通过智能技术生成

一、创建一个项目

创建 kubectl run命令

[root@master01 ~]# kubectl run nginx --image=nginx:latest --port=80 --replicas=3
kubectl run --generator=deployment/apps.v1beta1 is DEPRECATED and will be removed in a future version. Use kubectl create instead.
deployment.apps/nginx-deployment created

# deployment         无状态化的
# port=80            对服务内部暴露的端口
# replicas=3         副本数为3

[root@master01 ~]# kubectl get ns               # 查询命名空间,创建的时候不指定命名空间默认创建在 default  
NAME          STATUS   AGE
default       Active   40h
kube-public   Active   40h
kube-system   Active   40h

[root@master01 ~]# kubectl get pods -n default              # 查询pod
NAME                                READY   STATUS    RESTARTS   AGE
nginx-deployment-5477945587-7xnpv   1/1     Running   0          4m11s            
nginx-deployment-5477945587-gj97r   1/1     Running   0          4m11s            
nginx-deployment-5477945587-rz42l   1/1     Running   0          4m11s     

[root@master01 ~]# kubectl get pods -o wide                # 查询pod创建位置节点
NAME                                READY   STATUS    RESTARTS   AGE     IP            NODE        NOMINATED NODE
nginx-deployment-5477945587-7xnpv   1/1     Running   0          5m53s   172.17.30.4   20.0.0.12   
nginx-deployment-5477945587-gj97r   1/1     Running   0          5m53s   172.17.66.3   20.0.0.13   
nginx-deployment-5477945587-rz42l   1/1     Running   0          5m53s   172.17.66.2   20.0.0.13          

[root@master01 ~]# kubectl get service                 # 查询对内暴露端口
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.0.0.1             443/TCP   40h

[root@master01 ~]# kubectl get all                    # 查看所有资源       
NAME                                    READY   STATUS    RESTARTS   AGE
pod/nginx-deployment-5477945587-7xnpv   1/1     Running   0          8m41s
pod/nginx-deployment-5477945587-gj97r   1/1     Running   0          8m41s
pod/nginx-deployment-5477945587-rz42l   1/1     Running   0          8m41s

NAME                 TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
service/kubernetes   ClusterIP   10.0.0.1             443/TCP   40h

NAME                               DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/nginx              1         1         1            1           5h42m
deployment.apps/nginx-deployment   3         3         3            3           8m41s

NAME                                          DESIRED   CURRENT   READY   AGE
replicaset.apps/nginx-dbddb74b8               1         1         1       5h42m
replicaset.apps/nginx-deployment-5477945587   3         3         3       8m41s

二、发布nginx service提供负载均衡的功能

[root@master01 ~]# kubectl expose deployment nginx --port=80 --target-port=80 --name=nginx-service --type=NodePort
service/nginx-service exposed
# expose               暴露
# deployment           调度资源
# nginx                名称为nginx
# --port=80            pod 端口
# --target-port=80     容器中的端口
# --type=NodePort      暴露形式为 NodePort 

[root@master01 ~]# kubectl get service
NAME            TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)        AGE
kubernetes      ClusterIP   10.0.0.1             443/TCP        41h
nginx-service   NodePort    10.0.0.125           80:49831/TCP   4m20s             # 产生内部地址,对外暴露端口为49831

[root@master01 ~]# kubectl get pods -o wide        # 网络状态详细信息
NAME                     READY   STATUS    RESTARTS   AGE   IP            NODE        NOMINATED NODE
nginx-7697996758-5clwz   1/1     Running   0          10m   172.17.30.2   20.0.0.12   
nginx-7697996758-gq2f7   1/1     Running   0          10m   172.17.30.4   20.0.0.12   
nginx-7697996758-hr6h4   1/1     Running   0          10m   172.17.66.2   20.0.0.13   

[<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值