Kubernetes部署apisix的理论与最佳实践(三)
#作者: stackofumbrella
文章目录
- apisix安装
- apisix dashboard部署安装
接上篇:https://blog.csdn.net/qq_40477248/article/details/150221984?spm=1001.2014.3001.5501
apisix安装
$ kubectl apply -f apisix.yaml
$ kubectl get pod -n gv-public
apisix dashboard部署安装
$ vim apisix-dashboard.yaml
kind: Deployment
apiVersion: apps/v1
metadata:name: apisix-dashboardnamespace: gv-publiclabels:app.kubernetes.io/instance: apisix-dashboardapp.kubernetes.io/name: apisix-dashboardapp.kubernetes.io/version: 2.9.0
spec:replicas: 1selector:matchLabels:app.kubernetes.io/instance: apisix-dashboardapp.kubernetes.io/name: apisix-dashboardtemplate:metadata:creationTimestamp: nulllabels:app.kubernetes.io/instance: apisix-dashboardapp.kubernetes.io/name: apisix-dashboardspec:volumes:- name: apisix-dashboard-configconfigMap:name: apisix-dashboarddefaultMode: 420containers:- name: apisix-dashboardimage: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/apache/apisix-dashboard:3.0.0-alpineports:- name: httpcontainerPort: 9000protocol: TCPresources: {}volumeMounts:- name: apisix-dashboard-configmountPath: /usr/local/apisix-dashboard/conf/conf.yamlsubPath: conf.yamllivenessProbe:httpGet:path: /pingport: httpscheme: HTTPtimeoutSeconds: 1periodSeconds: 10successThreshold: 1failureThreshold: 3readinessProbe:httpGet:path: /pingport: httpscheme: HTTPtimeoutSeconds: 1periodSeconds: 10successThreshold: 1failureThreshold: 3terminationMessagePath: /dev/termination-logterminationMessagePolicy: FileimagePullPolicy: IfNotPresentsecurityContext: {}restartPolicy: AlwaysterminationGracePeriodSeconds: 30dnsPolicy: ClusterFirstserviceAccountName: apisix-dashboardserviceAccount: apisix-dashboardsecurityContext: {}schedulerName: default-schedulerstrategy:type: RollingUpdaterollingUpdate:maxUnavailable: 25%maxSurge: 25%revisionHistoryLimit: 10progressDeadlineSeconds: 600
---
kind: Service
apiVersion: v1
metadata:name: apisix-dashboardnamespace: gv-publiclabels:app.kubernetes.io/instance: apisix-dashboardapp.kubernetes.io/name: apisix-dashboardapp.kubernetes.io/version: 2.9.0
spec:ports:- name: httpprotocol: TCPport: 9000targetPort: 9000selector:app.kubernetes.io/instance: apisix-dashboardapp.kubernetes.io/name: apisix-dashboardtype: NodePort
---
kind: ConfigMap
apiVersion: v1
metadata:name: apisix-dashboardnamespace: gv-publiclabels:app.kubernetes.io/instance: apisix-dashboardapp.kubernetes.io/name: apisix-dashboardapp.kubernetes.io/version: 2.9.0
data:conf.yaml: |-conf:listen:host: 0.0.0.0port: 9000etcd:endpoints:- http://apisix-etcd.gv-public.svc.cluster.local:2379log:error_log:level: warnfile_path: /dev/stderraccess_log:file_path: /dev/stdoutauthentication:secert: secertexpire_time: 3600users:- username: adminpassword: admin
---
apiVersion: v1
kind: ServiceAccount
metadata:name: apisix-dashboardnamespace: gv-public
$ kubectl apply -f apisix-dashboard.yaml
$ kubectl get pod -n gv-public
访问控制台
http://10.8.2.22:32735
默认用户名admin密码admin