安裝kubectl ingress-nginx


參考官網:https://kubernetes.github.io/ingress-nginx/kubectl-plugin/

前提

軟件 版本
k8s 不挑
ingress-nginx 不挑

安裝

1、安裝krew

ingress-nginx插件需要通過krew安裝,首先需要安裝krew工具

執行以下腳本安裝krew

(
  set -x; cd "$(mktemp -d)" &&
  curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/krew.tar.gz" &&
  tar zxvf krew.tar.gz &&
  KREW=./krew-"$(uname | tr '[:upper:]' '[:lower:]')_$(uname -m | sed -e 's/x86_64/amd64/' -e 's/arm.*$/arm/')" &&
  "$KREW" install krew
)

/etc/profile 設置PATH

export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"

參考:https://krew.sigs.k8s.io/docs/user-guide/setup/install/

2、krew安裝ingress-nginx插件

kubectl krew install ingress-nginx

3、驗證

kubectl ingress-nginx --help

使用

默認是在default命名空間下查找ingress-nginx-controller deployment,Rancher安裝的ingress-nginx是使用daemonset部署的,不知道通過daemonset查找,但是可以通過pod或者標簽選擇器查找,例如:

kubectl ingress-nginx backends -n ingress-nginx --pod nginx-ingress-controller-rplw2  --list
## 或者
kubectl ingress-nginx backends -n ingress-nginx -l app=ingress-nginx  --list

backends

## 只列出backends
kubectl ingress-nginx backends -n ingress-nginx -l app=ingress-nginx  --list

## 查看某個backend的詳細信息
kubectl ingress-nginx backends -n ingress-nginx -l app=ingress-nginx  --backend default-nginx-test-http-nginx-test

## 查看所有backends
kubectl ingress-nginx backends -n ingress-nginx -l app=ingress-nginx

cert 查看證書

如果ingress設置了ssl,可以通過cert命令查看證書,例如:

kubectl ingress-nginx certs -l app=ingress-nginx  -n ingress-nginx --host test3.zerchin.xyz

這里的--host指定的是域名,不是backend list的名字

conf 查看配置

### 默認不帶參數,查看所有配置,等同於進入pod查看/etc/nginx/nginx.conf
kubectl ingress-nginx conf -l app=ingress-nginx  -n ingress-nginx

### 查看單個ingress的配置,這里查看的是server下的配置
kubectl ingress-nginx conf -l app=ingress-nginx  -n ingress-nginx --host nginx.zerchin.xyz

exec 執行命令

默認帶有一個exec參數,可以執行相關命令,但是這個感覺沒有自帶的kubectl exec 好用

kubectl ingress-nginx exec -l app=ingress-nginx  -n ingress-nginx  pwd
/etc/nginx

service

由於Rancher部署的ingress-nginx沒有對應service,暫時看不到

ingresses

提供所有入口定義的簡短摘要,類似kubectl get ingress

kubectl ingress-nginx ingresses --all-namespaces --host nginx.zerchin.xyz
NAMESPACE   INGRESS NAME   HOST+PATH            ADDRESSES      TLS   SERVICE      SERVICE PORT      ENDPOINTS
default     nginx          nginx.zerchin.xyz/   47.242.45.56   NO    nginx-test   http-nginx-test   4

lint

檢查kubernetes資源中可能存在的問題

kubectl ingress-nginx lint --all-namespaces --show-all -v
Checking ingresses...
✓ default/nginx
✓ default/test
✓ default/test3-ssl
Checking deployments...
✓ cattle-prometheus/exporter-kube-state-cluster-monitoring
✓ cattle-prometheus/grafana-cluster-monitoring
✓ cattle-prometheus/prometheus-operator-monitoring-operator
✓ cattle-system/cattle-cluster-agent
✓ default/busybox
✓ default/nginx-test
✓ default/proxy-nginx
✓ default/test
✓ ingress-nginx/default-http-backend
✓ kube-system/coredns
✓ kube-system/coredns-autoscaler
✓ kube-system/metrics-server
✓ local-path-storage/local-path-provisioner
✓ nfs-client-provisioner/nfs-client-provisioner
✓ p-6bwf5-pipeline/docker-registry
✓ p-6bwf5-pipeline/example-helloserver
✓ p-6bwf5-pipeline/jenkins
✓ p-6bwf5-pipeline/minio
✓ p-x25kp-pipeline/docker-registry
✓ p-x25kp-pipeline/example-nginx
✓ p-x25kp-pipeline/jenkins
✓ p-x25kp-pipeline/minio

logs

查看日志,等同於kubectl logs命令

## 常用這個
kubectl ingress-nginx  logs -n ingress-nginx -l app=ingress-nginx --tail 100 -f

## 其他參數
## 返回特定時間
--since
--since-time

ssh

等同於kubectl exec -it xxx -- bash

kubectl ingress-nginx  ssh -n ingress-nginx -l app=ingress-nginx
bash-5.0$ 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM