【命令行工具kubectl】

在这里插入图片描述

如何在k8s的任意节点使用用kubectl

# 正常在node节点上是无法执行kubectl命令
[root@k8s-node-01 ~]# kubectl get pods
The connection to the server localhost:8080 was refused - did you specify the right host or port?

1、将master节点中/etc/kubernetes/,admin.conf拷贝到需要运行的node服务器的/etc/kubernetes目录中。

  • scp /etc/kubernetes/admin.conf root@k8s-node-01:/etc/kubernetes/admin.conf
  • scp /etc/kubernetes/admin.conf root@k8s-node-02:/etc/kubernetes/admin.conf

2、在对应的服务器上配置环境变量

  • echo " export KUBECONFIG=/etc/kubernetes/admin.conf " >> ~/.bash_profile
  • source ~/.bash_profile
# 执行上面的master第一步后,在node节点执行以下,就可以正常是用kubectl了
[root@k8s-node-01 ~]# echo " export KUBECONFIG=/etc/kubernetes/admin.conf " >> ~/.bash_profile
[root@k8s-node-01 ~]#   
[root@k8s-node-01 ~]#
[root@k8s-node-01 ~]# kubectl get pods
NAME                     READY   STATUS    RESTARTS      AGE
nginx-6768c68f7b-rsxb4   1/1     Running   1 (47m ago)   105m
nginx-test               1/1     Running   1 (47m ago)   70m

查看pod信息

[root@k8s-node-02 ~]#  kubectl get pod
NAME                     READY   STATUS    RESTARTS      AGE
nginx-6768c68f7b-rsxb4   1/1     Running   1 (62m ago)   120m
nginx-test               1/1     Running   1 (62m ago)   85m

下面这种执行方式是错误的,操作的是pod控制器,而非pod本身

[root@k8s-node-02 ~]# kubectl  scale   --replicas 3   nginx-6768c68f7b-rsxb4
error: the server doesn't have a resource type "nginx-6768c68f7b-rsxb4"

获取pod控制器信息

# 在创建nginx的时候指定了pod控制器版本是:deployment 
#[root@k8s-master ~]# kubectl create deployment   nginx  --image=nginx:1.20
# deployment.apps/nginx created

# 在此处获取nginx这个pode的deploy控制器的版本时候就没有另外一个ningx-test这个信息
[root@k8s-node-02 ~]# kubectl get deploy
NAME    READY   UP-TO-DATE   AVAILABLE   AGE
nginx   1/1     1            1           120m

此处设置了deploy控制器是nginx的pod扩容为3个pod

[root@k8s-node-02 ~]# kubectl  scale deployment  --replicas 3   nginx
deployment.apps/nginx scaled

# 此处可以查看到nginx这个deploy的数量是3
[root@k8s-node-02 ~]# kubectl get deploy
NAME    READY   UP-TO-DATE   AVAILABLE   AGE
nginx   3/3     3            3           10s


# 同时可以到pod的信息,默认访问namespace是default
[root@k8s-node-02 ~]# kubectl get pod  -o wide 
NAME                     READY   STATUS    RESTARTS      AGE    IP          NODE          NOMINATED NODE   READINESS GATES
nginx-6768c68f7b-5m2zp   1/1     Running   0             10s    10.2.1.12   k8s-node-02   <none>           <none>
nginx-6768c68f7b-krdfm   1/1     Running   0             10s    10.2.2.8    k8s-node-01   <none>           <none>
nginx-6768c68f7b-rsxb4   1/1     Running   1 (64m ago)   123m   10.2.1.10   k8s-node-02   <none>           <none>
nginx-test               1/1     Running   1 (64m ago)   87m    10.2.1.11   k8s-node-02   <none>           <none>

获取到 deploy 的yaml信息,可以看到Replicas是3

[root@k8s-node-02 ~]# kubectl get deploy -o yaml
apiVersion: v1
items:
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
    creationTimestamp: "2024-02-22T09:30:58Z"
    generation: 2
    labels:
      app: nginx
    name: nginx
    namespace: default
    resourceVersion: "187458"
    uid: 1515f10f-5072-4c8b-a9a5-1d04378a4b62
  spec:
    progressDeadlineSeconds: 600
    replicas: 3
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app: nginx
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        creationTimestamp: null
        labels:
          app: nginx
      spec:
        containers:
        - image: nginx:1.20
          imagePullPolicy: IfNotPresent
          name: nginx
          resources: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        terminationGracePeriodSeconds: 30
  status:
    availableReplicas: 3
    conditions:
    - lastTransitionTime: "2024-02-22T09:30:58Z"
      lastUpdateTime: "2024-02-22T09:31:30Z"
      message: ReplicaSet "nginx-6768c68f7b" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2024-02-22T11:34:04Z"
      lastUpdateTime: "2024-02-22T11:34:04Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 2
    readyReplicas: 3
    replicas: 3
    updatedReplicas: 3
kind: List
metadata:
  resourceVersion: ""

修改这个deploy控制器是nginx的可以减少为1个

[root@k8s-node-02 ~]# kubectl  scale deployment  --replicas 1 nginx
deployment.apps/nginx scaled


[root@k8s-node-02 ~]# kubectl get deploy -o yaml
apiVersion: v1
items:
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      deployment.kubernetes.io/revision: "1"
    creationTimestamp: "2024-02-22T09:30:58Z"
    generation: 3
    labels:
      app: nginx
    name: nginx
    namespace: default
    resourceVersion: "188540"
    uid: 1515f10f-5072-4c8b-a9a5-1d04378a4b62
  spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
      matchLabels:
        app: nginx
    strategy:
      rollingUpdate:
        maxSurge: 25%
        maxUnavailable: 25%
      type: RollingUpdate
    template:
      metadata:
        creationTimestamp: null
        labels:
          app: nginx
      spec:
        containers:
        - image: nginx:1.20
          imagePullPolicy: IfNotPresent
          name: nginx
          resources: {}
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
        dnsPolicy: ClusterFirst
        restartPolicy: Always
        schedulerName: default-scheduler
        securityContext: {}
        terminationGracePeriodSeconds: 30
  status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2024-02-22T09:30:58Z"
      lastUpdateTime: "2024-02-22T09:31:30Z"
      message: ReplicaSet "nginx-6768c68f7b" has successfully progressed.
      reason: NewReplicaSetAvailable
      status: "True"
      type: Progressing
    - lastTransitionTime: "2024-02-22T11:34:04Z"
      lastUpdateTime: "2024-02-22T11:34:04Z"
      message: Deployment has minimum availability.
      reason: MinimumReplicasAvailable
      status: "True"
      type: Available
    observedGeneration: 3
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1
kind: List
metadata:
  resourceVersion: ""
  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值