“Kubernetes ingress基础”的版本间的差异
跳到导航
跳到搜索
第26行: | 第26行: | ||
<pre> | <pre> | ||
− | #FQ吧 少年 | + | #2022 |
+ | root@k8s-master:~# kubectl apply -f deploy.yaml | ||
+ | namespace/ingress-nginx created | ||
+ | serviceaccount/ingress-nginx created | ||
+ | serviceaccount/ingress-nginx-admission created | ||
+ | role.rbac.authorization.k8s.io/ingress-nginx created | ||
+ | role.rbac.authorization.k8s.io/ingress-nginx-admission created | ||
+ | clusterrole.rbac.authorization.k8s.io/ingress-nginx created | ||
+ | clusterrole.rbac.authorization.k8s.io/ingress-nginx-admission created | ||
+ | rolebinding.rbac.authorization.k8s.io/ingress-nginx created | ||
+ | rolebinding.rbac.authorization.k8s.io/ingress-nginx-admission created | ||
+ | clusterrolebinding.rbac.authorization.k8s.io/ingress-nginx created | ||
+ | clusterrolebinding.rbac.authorization.k8s.io/ingress-nginx-admission created | ||
+ | configmap/ingress-nginx-controller created | ||
+ | service/ingress-nginx-controller created | ||
+ | service/ingress-nginx-controller-admission created | ||
+ | deployment.apps/ingress-nginx-controller created | ||
+ | job.batch/ingress-nginx-admission-create created | ||
+ | job.batch/ingress-nginx-admission-patch created | ||
+ | ingressclass.networking.k8s.io/nginx created | ||
+ | validatingwebhookconfiguration.admissionregistration.k8s.io/ingress-nginx-admission created | ||
+ | root@k8s-master:~# kubectl create deployment demo --image=httpd --port=80 | ||
+ | deployment.apps/demo created | ||
+ | root@k8s-master:~# kubectl expose deployment demo | ||
+ | service/demo exposed | ||
+ | root@k8s-master:~# kubectl get pods --all-namespaces -l app.kubernetes.io/name=ingress-nginx --watch | ||
+ | NAMESPACE NAME READY STATUS RESTARTS AGE | ||
+ | ingress-nginx ingress-nginx-admission-create-5jc9p 0/1 ImagePullBackOff 0 2m47s | ||
+ | ingress-nginx ingress-nginx-admission-patch-2mb45 0/1 ImagePullBackOff 0 2m47s | ||
+ | ingress-nginx ingress-nginx-controller-55dcf56b68-gpckf 0/1 ContainerCreating 0 2m47s | ||
+ | ingress-nginx ingress-nginx-admission-create-5jc9p 0/1 ErrImagePull 0 2m47s | ||
+ | ingress-nginx ingress-nginx-admission-create-5jc9p 0/1 ImagePullBackOff 0 3m | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | #FQ吧 少年 以前的 2019年的 | ||
wget -c https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml | wget -c https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml | ||
2022年7月25日 (一) 08:56的版本
Nginx ingress 使用ConfigMap来管理Nginx配置,nginx是大家熟知的代理和负载均衡软件,比起Traefik来说功能更加强大.
ngress是Kubernetes集群对外暴露服务的一种推荐方法,Ingress封装了nginx,背后还是nginx在发挥作用,Ingress的作用是不断检测pod的IP变化,然后将变化更新到nginx的配置中。从而当集群中有pod重启时,可以做到不用重启nginx
with Helm
#use helm 正常情况下如次 要FQ helm upgrade --install ingress-nginx ingress-nginx \ --repo https://kubernetes.github.io/ingress-nginx \ --namespace ingress-nginx --create-namespace Release "ingress-nginx" does not exist. Installing it now. Error: failed to download "https://github.com/kubernetes/ingress-nginx/releases/download/helm-chart-4.1.4/ingress-nginx-4.1.4.tgz"
install
部署Ingress 控制器
https://kubernetes.github.io/ingress-nginx/deploy/
#2022 root@k8s-master:~# kubectl apply -f deploy.yaml namespace/ingress-nginx created serviceaccount/ingress-nginx created serviceaccount/ingress-nginx-admission created role.rbac.authorization.k8s.io/ingress-nginx created role.rbac.authorization.k8s.io/ingress-nginx-admission created clusterrole.rbac.authorization.k8s.io/ingress-nginx created clusterrole.rbac.authorization.k8s.io/ingress-nginx-admission created rolebinding.rbac.authorization.k8s.io/ingress-nginx created rolebinding.rbac.authorization.k8s.io/ingress-nginx-admission created clusterrolebinding.rbac.authorization.k8s.io/ingress-nginx created clusterrolebinding.rbac.authorization.k8s.io/ingress-nginx-admission created configmap/ingress-nginx-controller created service/ingress-nginx-controller created service/ingress-nginx-controller-admission created deployment.apps/ingress-nginx-controller created job.batch/ingress-nginx-admission-create created job.batch/ingress-nginx-admission-patch created ingressclass.networking.k8s.io/nginx created validatingwebhookconfiguration.admissionregistration.k8s.io/ingress-nginx-admission created root@k8s-master:~# kubectl create deployment demo --image=httpd --port=80 deployment.apps/demo created root@k8s-master:~# kubectl expose deployment demo service/demo exposed root@k8s-master:~# kubectl get pods --all-namespaces -l app.kubernetes.io/name=ingress-nginx --watch NAMESPACE NAME READY STATUS RESTARTS AGE ingress-nginx ingress-nginx-admission-create-5jc9p 0/1 ImagePullBackOff 0 2m47s ingress-nginx ingress-nginx-admission-patch-2mb45 0/1 ImagePullBackOff 0 2m47s ingress-nginx ingress-nginx-controller-55dcf56b68-gpckf 0/1 ContainerCreating 0 2m47s ingress-nginx ingress-nginx-admission-create-5jc9p 0/1 ErrImagePull 0 2m47s ingress-nginx ingress-nginx-admission-create-5jc9p 0/1 ImagePullBackOff 0 3m #FQ吧 少年 以前的 2019年的 wget -c https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml kubectl apply -f mandatory.yaml namespace/ingress-nginx configured configmap/nginx-configuration unchanged configmap/tcp-services created configmap/udp-services created serviceaccount/nginx-ingress-serviceaccount unchanged clusterrole.rbac.authorization.k8s.io/nginx-ingress-clusterrole configured role.rbac.authorization.k8s.io/nginx-ingress-role unchanged rolebinding.rbac.authorization.k8s.io/nginx-ingress-role-nisa-binding unchanged clusterrolebinding.rbac.authorization.k8s.io/nginx-ingress-clusterrole-nisa-binding unchanged deployment.apps/nginx-ingress-controller configured Verify installation To check if the ingress controller pods have started, kubectl get pods --all-namespaces -l app.kubernetes.io/name=ingress-nginx --watch NAMESPACE NAME READY STATUS RESTARTS AGE ingress-nginx nginx-ingress-controller-86449c74bb-rthhw 0/1 ImagePullBackOff 0 2m5s kubectl get pods -n ingress-nginx -o wide --watch #也是查看 Once the operator pods are running, you can cancel the above command by typing Ctrl+C. 可见上面还不是runing 过一阵才好 kubectl get pods -n ingress-nginx NAME READY STATUS RESTARTS AGE nginx-ingress-controller-86449c74bb-rthhw 1/1 Running 0 19h
部署svc
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/cloud-generic.yaml service/ingress-nginx created [root@master ingress]# kubectl get svc -n ingress-nginx NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE ingress-nginx LoadBalancer 10.99.141.156 <pending> 80:31279/TCP,443:30847/TCP 2m43s
trouble
kubectl get ing #ADDRESS 为空 NAME HOSTS ADDRESS PORTS AGE simple * 80 4s
see also
K8S 部署 ingress-nginx (一) 原理及搭建
解决kubernetes中ingress-nginx配置问题
Kubernetes - nginx-ingress 配置跳坑指南