Cloud Native应用交付

  • 首页
  • 关于本站
  • 个人介绍
  • Downloads
  • Repo
    • Github
    • Container
  • F5
    • F5 In AI Agent Arch
    • F5 AI Infrastructure Blueprint
    • F5 Python SDK
    • F5-container
    • F5-LBaaS
  • 社交
    • 联系我
    • 微信/微博
    • 公众号
    • 打赏赞助
行至水穷处 坐看云起时
Cloud Native Application Services: cnadn.net
  1. 首页
  2. NGINX
  3. 正文

Helm 3 部署NGINX Ingress Controller

2020年06月28日 14524点热度 1人点赞 0条评论

Warning: Array to string conversion in /home/wwwroot/myf5/wp-content/plugins/wpjam-basic/public/wpjam-utils.php on line 496

安装NGINX官方helm repo

helm repo add nginx-stable https://helm.nginx.com/stable

安装过程演示

[root@k8s-master-v1-16 ~]# helm repo add nginx-stable https://helm.nginx.com/stable
"nginx-stable" has been added to your repositories

[root@k8s-master-v1-16 ~]# helm search repo nginx-stable
NAME                      	CHART VERSION	APP VERSION	DESCRIPTION
nginx-stable/nginx-ingress	0.5.2        	1.7.2      	NGINX Ingress Controller



[root@k8s-master-v1-16 ~]# helm install myic nginx-stable/nginx-ingress -n ic-test --set controller.ingressClass=test-ingress
Error: rendered manifests contain a resource that already exists. Unable to continue with install: CustomResourceDefinition "transportservers.k8s.nginx.org" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; label validation error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; annotation validation error: missing key "meta.helm.sh/release-name": must be set to "myic"; annotation validation error: missing key "meta.helm.sh/release-namespace": must be set to "ic-test"

(由于之前手工部署过了相关CRD资源,这些CRD并不属于某个namespace,所以helm报冲突,删除手工部署的CRD重新执行)

[root@k8s-master-v1-16 ~]# helm install myic nginx-stable/nginx-ingress -n ic-test --create-namespace --set controller.ingressClass=test-ingress
NAME: myic
LAST DEPLOYED: Sun Jun 28 19:18:34 2020
NAMESPACE: ic-test
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
The NGINX Ingress Controller has been installed.


[root@k8s-master-v1-16 ~]# helm list  -n ic-test
NAME	NAMESPACE	REVISION	UPDATED                               	STATUS  	CHART              	APP VERSION
myic	ic-test  	1       	2020-06-28 19:18:34.80694826 +0800 CST	deployed	nginx-ingress-0.5.2	1.7.2


[root@k8s-master-v1-16 ~]# kubectl get deploy myic-nginx-ingress -n ic-test -o yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    deployment.kubernetes.io/revision: "1"
    meta.helm.sh/release-name: myic
    meta.helm.sh/release-namespace: ic-test
  creationTimestamp: "2020-06-28T11:18:35Z"
  generation: 1
  labels:
    app.kubernetes.io/instance: myic
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: myic-nginx-ingress
    helm.sh/chart: nginx-ingress-0.5.2
  name: myic-nginx-ingress
  namespace: ic-test
  resourceVersion: "30857629"
  selfLink: /apis/apps/v1/namespaces/ic-test/deployments/myic-nginx-ingress
  uid: 959981b3-6942-4e85-98e9-7d8fc5a51e63
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: myic-nginx-ingress
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      annotations:
        prometheus.io/port: "9113"
        prometheus.io/scrape: "true"
      creationTimestamp: null
      labels:
        app: myic-nginx-ingress
    spec:
      containers:
      - args:
        - -nginx-plus=false
        - -nginx-configmaps=$(POD_NAMESPACE)/myic-nginx-ingress
        - -default-server-tls-secret=$(POD_NAMESPACE)/myic-nginx-ingress-default-server-secret
        - -ingress-class=test-ingress
        - -use-ingress-class-only=false
        - -health-status=false
        - -health-status-uri=/nginx-health
        - -nginx-debug=false
        - -v=1
        - -nginx-status=true
        - -nginx-status-port=8080
        - -nginx-status-allow-cidrs=127.0.0.1
        - -report-ingress-status
        - -external-service=myic-nginx-ingress
        - -enable-leader-election=true
        - -leader-election-lock-name=myic-nginx-ingress-leader-election
        - -enable-prometheus-metrics=true
        - -prometheus-metrics-listen-port=9113
        - -enable-custom-resources=true
        - -enable-tls-passthrough=false
        env:
        - name: POD_NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        - name: POD_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.name
        image: nginx/nginx-ingress:1.7.2
        imagePullPolicy: IfNotPresent
        name: myic-nginx-ingress
        ports:
        - containerPort: 80
          name: http
          protocol: TCP
        - containerPort: 443
          name: https
          protocol: TCP
        - containerPort: 9113
          name: prometheus
          protocol: TCP
        resources: {}
        securityContext:
          allowPrivilegeEscalation: true
          capabilities:
            add:
            - NET_BIND_SERVICE
            drop:
            - ALL
          runAsUser: 101
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      serviceAccount: myic-nginx-ingress
      serviceAccountName: myic-nginx-ingress
      terminationGracePeriodSeconds: 30
status:
  conditions:
  - lastTransitionTime: "2020-06-28T11:18:35Z"
    lastUpdateTime: "2020-06-28T11:18:35Z"
    message: Deployment does not have minimum availability.
    reason: MinimumReplicasUnavailable
    status: "False"
    type: Available
  - lastTransitionTime: "2020-06-28T11:18:35Z"
    lastUpdateTime: "2020-06-28T11:18:35Z"
    message: ReplicaSet "myic-nginx-ingress-69dcfbb87f" is progressing.
    reason: ReplicaSetUpdated
    status: "True"
    type: Progressing
  observedGeneration: 1
  replicas: 1
  unavailableReplicas: 1
  updatedReplicas: 1


  [root@k8s-master-v1-16 ~]# kubectl get all -n ic-test
NAME                                      READY   STATUS              RESTARTS   AGE
pod/myic-nginx-ingress-69dcfbb87f-6zqfn   0/1     ContainerCreating   0          2m6s

NAME                         TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGE
service/myic-nginx-ingress   LoadBalancer   10.101.100.233   <pending>     80:32379/TCP,443:31638/TCP   2m7s

NAME                                 READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/myic-nginx-ingress   0/1     1            0           2m6s

NAME                                            DESIRED   CURRENT   READY   AGE
replicaset.apps/myic-nginx-ingress-69dcfbb87f   1         1         0       2m6s
[root@k8s-master-v1-16 ~]# kubectl get cm -n ic-test
NAME                                 DATA   AGE
istio-ca-root-cert                   1      2m15s
myic-nginx-ingress                   0      2m15s
myic-nginx-ingress-leader-election   0      2m15s
[root@k8s-master-v1-16 ~]# kubectl get secrets -n ic-test
NAME                                       TYPE                                  DATA   AGE
default-token-94dmh                        kubernetes.io/service-account-token   3      2m26s
myic-nginx-ingress-default-server-secret   Opaque                                2      2m26s
myic-nginx-ingress-token-bwh7p             kubernetes.io/service-account-token   3      2m26s
sh.helm.release.v1.myic.v1                 helm.sh/release.v1                    1      2m26s



[root@k8s-master-v1-16 ~]# helm uninstall myic -n ic-test
release "myic" uninstalled
Array
本作品采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可
标签: helm ingress controller nginx
最后更新:2020年06月29日

纳米

linjing.io

打赏 点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理。

页面AI聊天助手

纳米

linjing.io

☁️迈向Cloud Native ADC ☁️

认证获得:
TOGAF: ID 152743
Kubernetes: CKA #664
Microsoft: MCSE MCDBA
Cisco: CCNP
Juniper: JNCIS
F5:
F5 Certified Solution Expert, Security
F5 Certified Technology Specialist, LTM/GTM/APM/ASM
F5 Certified BIG-IP Administrator
  • 点击查看本博技术要素列表
  • 归档
    分类
    • AI
    • Automation
    • Avi Networks
    • Cisco ACI
    • CISCO资源
    • F5 with ELK
    • F5-Tech tips
    • F5技术
    • Juniper
    • Linux
    • NGINX
    • SDN
    • ServiceMesh
    • WEB编程
    • WINDOWS相关
    • 业界文章
    • 交换机技术
    • 化云为雨/Openstack
    • 协议原理
    • 容器/k8s
    • 我的工作
    • 我的生活
    • 网站技术
    • 路由器技术
    • 项目案例
    标签聚合
    nginx network bigip docker DNS neutron api F5 k8s openstack gtm istio envoy irule flannel
    最近评论
    Abeny 发布于 8 个月前(02月20日) Very good!
    lz 发布于 2 年前(02月26日) 66666666666666
    汤姆 发布于 2 年前(09月10日) 嗨,楼主,里面的json怎么下载啊,怎么收费啊?
    汤姆 发布于 2 年前(09月09日) 大佬,kib的页面可以分享下吗?谢谢
    zhangsha 发布于 2 年前(05月12日) 资料发给我下,谢谢纳米同志!!!!lyx895@qq.com
    浏览次数
    • Downloads - 196,252 views
    • 联系我 - 137,287 views
    • 迄今为止最全最深入的BIGIP-DNS/GTM原理及培训资料 - 126,945 views
    • Github - 115,482 views
    • Sniffer Pro 4 70 530抓包软件 中文版+视频教程 - 91,551 views
    • F5常见log日志解释 - 90,848 views
    • 迄今为止最全最深入的BIGIP-DNS/GTM原理及培训资料 - 88,885 views
    • 从传统ADC迈向CLOUD NATIVE ADC - 下载 - 87,844 views
    • 关于本站 - 76,616 views
    • F5利用Elastic stack(ELK)进行应用数据挖掘系列(2)-DNS - 65,069 views
    链接表
    • F5SE创新
    • Jimmy Song‘s Blog
    • SDNlab
    • Service Mesh社区
    • 三斗室
    • 个人profile
    • 云原生社区

    COPYRIGHT © 2023 Cloud Native 应用交付. ALL RIGHTS RESERVED.

    Theme Kratos Made By Seaton Jiang

    京ICP备14048088号-1

    京公网安备 11010502041506号