k8s部署kubepi
Kubepi kubepi是飞致云旗下品牌,部署很方便,页面布局简单,授权方便且颗粒度较细,没有集群数量限制,但是用户名不支持邮箱,这点不知道啥时候改进。
1.pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-kubepi
namespace: itcast-ops
spec:
accessModes:
- ReadWriteMany
storageClassName: nfs-client
resources:
requests:
storage: 5Gi
2. deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: kubepi
namespace: itcast-ops
spec:
replicas: 1
minReadySeconds: 100
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
selector:
matchLabels:
app: kubepi
template:
metadata:
labels:
app: kubepi
spec:
containers:
- name: kubepi
image: 1panel/kubepi:latest
imagePullPolicy: Always
resources:
requests:
cpu: "200m"
memory: "1024Mi"
ports:
- containerPort: 80
name: http
protocol: TCP
volumeMounts:
- name: localtime
mountPath: /etc/localtime
- name: pvc-kubepi
mountPath: /var/lib/kubepi
volumes:
- name: localtime
hostPath:
path: /etc/localtime
- name: pvc-kubepi
persistentVolumeClaim:
claimName: pvc-kubepi
3. service.yaml
apiVersion: v1
kind: Service
metadata:
name: kubepi
namespace: itcast-ops
labels:
app: kubepi
spec:
selector:
app: kubepi
ports:
- name: http
port: 80
protocol: TCP
targetPort: 80
sessionAffinity: None
4. ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: pip-kubepi
namespace: itcast-ops
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:
tls:
- hosts:
- kubepi.xxx.xxx
secretName: xxx-xxx
rules:
- host: kubepi.xxx.xxx
http:
paths:
- backend:
serviceName: kubepi
servicePort: 80
path: /