🖊️
K8s-Testing
  • 从docker入门到k8s部署
  • 设备准备
  • 安装Docker
  • 拉取镜像和运行测试
    • 入门操作测试1
    • 入门操作测试2
    • 登录docker hub并上传镜像
    • 服务器间镜像文件快速复制
    • MySQL镜像安装和测试
    • 容器网络入门操作1
    • 容器网络入门操作2
    • 创建docker network
    • Wordpress+Mysql+nginx反向代理安装
  • Docker编排模板测试
    • Docker Compose入门介绍
    • 通过docker compose安装Wordpress
    • 通过docker compose安装wordpress:5-php7.2-fpm
  • Dockerfile测试
    • Dockerfile入门
    • Dockerfile多阶段构建
  • Prometheus和Grafana的单机编排
    • 通过nginx-prometheus-exporter监控nginx指标
    • 通过Grafana展示nginx容器指标
    • 通过docker compose部署Grafana和Prometheus
  • EFK单机编排
    • Filebeat收集nginx容器日志并同步到Elastic Cloud
    • 通过docker部署Elasticsearch并定制Kibana的Dashboard
    • 通过docker compose部署EFK
  • Kubernetes基础
    • Kubernetes基础知识
    • 通过Kubeadm部署K8s集群
    • K8s基本操作命令
    • k8s滚动发布
    • 通过K8s部署wordpress:5-php7.2-fpm
    • Ingress安装
Powered by GitBook
On this page
  • 一、Ingress controller 安装
  • 二、Ingress 安装

Was this helpful?

  1. Kubernetes基础

Ingress安装

https://kubernetes.github.io/ingress-nginx/

一、Ingress controller 安装

下载yaml配置清单

wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-0.32.0/deploy/static/provider/cloud/deploy.yaml

创建:

kubectl apply -f ./deploy.yaml 
namespace/ingress-nginx created
serviceaccount/ingress-nginx created
configmap/ingress-nginx-controller created
clusterrole.rbac.authorization.k8s.io/ingress-nginx created
clusterrolebinding.rbac.authorization.k8s.io/ingress-nginx created
role.rbac.authorization.k8s.io/ingress-nginx created
rolebinding.rbac.authorization.k8s.io/ingress-nginx created
service/ingress-nginx-controller-admission created
service/ingress-nginx-controller created
deployment.apps/ingress-nginx-controller created
validatingwebhookconfiguration.admissionregistration.k8s.io/ingress-nginx-admission created
clusterrole.rbac.authorization.k8s.io/ingress-nginx-admission created
clusterrolebinding.rbac.authorization.k8s.io/ingress-nginx-admission created
job.batch/ingress-nginx-admission-create created
job.batch/ingress-nginx-admission-patch created
role.rbac.authorization.k8s.io/ingress-nginx-admission created
rolebinding.rbac.authorization.k8s.io/ingress-nginx-admission created
serviceaccount/ingress-nginx-admission created

kubectl get svc -n ingress-nginx
NAME                                 TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
ingress-nginx-controller             LoadBalancer   10.96.158.117   <pending>     80:30773/TCP,443:32233/TCP   8m48s
ingress-nginx-controller-admission   ClusterIP      10.97.62.60     <none>        443/TCP                      8m48s

创建过程中:

kubectl get pods -n ingress-nginx
NAME                                        READY   STATUS              RESTARTS   AGE
ingress-nginx-admission-create-8mhz8        0/1     Completed           0          2m38s
ingress-nginx-admission-patch-t568k         0/1     Completed           0          2m38s
ingress-nginx-controller-866488c6d4-85lph   0/1     ContainerCreating   0          2m48s

修改port和type:

# Source: ingress-nginx/templates/controller-service.yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    helm.sh/chart: ingress-nginx-2.0.3
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/instance: ingress-nginx
    app.kubernetes.io/version: 0.32.0
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/component: controller
  name: ingress-nginx-controller
  namespace: ingress-nginx
spec:
  type: NodePort #从默认的LoadBalancer修改为NodePort
  externalTrafficPolicy: Local
  ports:
    - name: http
      port: 80
      protocol: TCP
      targetPort: http
      nodePort: 30080 #增加端口指定
    - name: https
      port: 443
      protocol: TCP
      targetPort: https
      nodePort: 30443 #增加端口指定
  selector:
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/instance: ingress-nginx
    app.kubernetes.io/component: controller

kubectl get svc -n ingress-nginx
NAME                                 TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
ingress-nginx-controller             NodePort    10.96.158.117   <none>        80:30080/TCP,443:30443/TCP   7h22m
ingress-nginx-controller-admission   ClusterIP   10.97.62.60     <none>        443/TCP                      7h22m
$ kubectl get pods -n ingress-nginx -o wide
NAME                                        READY   STATUS      RESTARTS   AGE   IP            NODE   NOMINATED NODE   READINESS GATES
ingress-nginx-admission-create-8mhz8        0/1     Completed   0          8h    10.244.3.19   37     <none>           <none>
ingress-nginx-admission-patch-t568k         0/1     Completed   0          8h    10.244.1.18   35     <none>           <none>
ingress-nginx-controller-866488c6d4-85lph   1/1     Running     0          8h    10.244.3.21   37     <none>           <none>

测试:

$ curl 10.96.158.117
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.17.10</center>
</body>
</html>

二、Ingress 安装

Previous通过K8s部署wordpress:5-php7.2-fpm

Last updated 4 years ago

Was this helpful?