阿里云kubernets使用记录7-安装portainer可视化ui

老规矩,我们先建立deployment

apiVersion: apps/v1
kind: Deployment
metadata:
  name: portainer
  namespace: default
spec:
  replicas: 1  # 只有一个 pod,按需扩容
  selector:
    matchLabels:
      app: portainer
  template:
    metadata:
      labels:
        app: portainer
    spec:
      containers:
        - name: portainer
          image: portainer/portainer-ce:latest
          ports:
            - name: http
              containerPort: 9000
          volumeMounts:
            - name: my-nas
              mountPath: /data
              subPath: portainer/data  # 映射 portainer 数据目录
      volumes:
        - name: my-nas
          persistentVolumeClaim:
            claimName: my-nas-pvc  # 关联到你已有的 PVC
---
apiVersion: v1
kind: Service
metadata:
  name: portainer
  namespace: default
spec:
  ports:
    - name: http
      port: 9000
      targetPort: 9000
  selector:
    app: portainer

这里我们直接把deployment和svc放一个文件了,本来应该建立新的namespace,但是我只想用nas来统一管理需要备份的文件,所以我还是放在default下。

处理ingress文件,来方便访问

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: portainer-ingress
  namespace: default
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  ingressClassName: ack-nginx
  rules:
    - host: 你的域名  # 公网访问
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: portainer
                port:
                  number: 9000

执行后,访问域名,就可以进入管理界面了。

下面我们来添加kubernets来管理

Environments菜单中,我们添加环境,选择kubernets,然后选择agent模式,再选择Kubernetes via node port方式,在kubectl下执行他们提供的命令

kubectl apply -f https://downloads.portainer.io/ce2-21/portainer-agent-k8s-nodeport.yaml

当然了,如果需要修改,可以自己在本地建立这个文件,内容复制过来就行。我就碰到了镜像拉不到的情况,修改后才可以。

执行后,我们继续在portainer添加,Name随便填写

下面的地址,因为我们的portainer和代理不在同一个namespace,地址填写

portainer-agent.portainer:9001

添加成功后,就可以管理我们的kubertnets了

文章作者: Wind
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 雕刻时光
喜欢就支持一下吧