头图

install minikube

image.png

image.png

image.png

install helm

brew install kubernetes-helm
# Kubernetes 集群上安装 Helm 服务器:
helm init

helm install Prometheus

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
helm search repo prometheus

# prometheus
helm show values prometheus-community/prometheus > prometheus.yaml

helm install prometheus prometheus-community/prometheus  -f prometheus.yaml
# helm install prometheus prometheus-community/prometheus  -f prometheus.yaml -n kube-server --create-namespace
    
# helm upgrade --install prometheus prometheus-community/prometheus -f prometheus.yaml -n kube-server  --create-namespace --version 15.8.0 --debug

# helm -n kube-server uninstall prometheus 

helm install ingress

helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm pull ingress-nginx/ingress-nginx

image.png

kubectl create ns ingress-nginx
helm install ingress-nginx ingress-nginx/ingress-nginx -n ingress-nginx

image.png

  • hostNetwork设置为true
  • dnsPolicy设置为 ClusterFirstWithHostNet
  • NodeSelector添加ingress: "true"部署至指定节点
  • 类型更改为kind: DaemonSet
  • type:loadBalancer 改为ClusterIP

    不建议ingress controller 布置在master节点,这里就部署一个至node节点,生产建议最少三个,打标签 kubectl label node k8s-node1 ingress=true,但是我就一个自己的mac,没必要打标签 ,DaemonSet也没必要。

image.png

image.png

  • error: nginx ingress contrller EXTERNAL-IP pending

image.png

kubectl edit -n ingress-nginx service/ingress-nginx-controller
# 添加   externalIPs: 
\kubectl  get svc -n ingress-nginx -owide
NAME                                 TYPE           CLUSTER-IP      EXTERNAL-IP               PORT(S)                      AGE   SELECTOR
ingress-nginx-controller             LoadBalancer   10.105.82.206   localhost,10.31.150.253   80:31828/TCP,443:32728/TCP   18h   app.kubernetes.io/component=controller,app.kubernetes.io/instance=ingress-nginx,app.kubernetes.io/name=ingress-nginx
ingress-nginx-controller-admission   ClusterIP      10.96.201.230   <none>                    443/TCP                      18h   app.kubernetes.io/component=controller,app.kubernetes.io/instance=ingress-nginx,app.kubernetes.io/name=ingress-nginx

image.png

  • 查看 IngressClass

image.png

litiax9QQ05P ingress-nginx % kubectl get ingressClass
NAME    CONTROLLER             PARAMETERS   AGE
nginx   k8s.io/ingress-nginx   <none>       17h


litixQQ05P /tmp % cat ingress_prometheus.yaml 
apiVersion: networking.k8s.io/v1
kind: Ingress  
metadata:
  name: prometheus-ingress
spec:
  ingressClassName: nginx     # hier
  rules:
  - host: "prometheus.int.xixgshu.com"
    http:
      paths:
      - pathType: Prefix
        path: "/"
        backend:
          service:
            name: prometheus-server
            port:
              number: 80
test
  • 写本机 host
  • 创建 ingress
    image.png
  • test

image.png


锅包肉
97 声望17 粉丝

这个人很懒,没有什么说的。