K8s自动化运维平台

回顾

使用elk模型步骤:
1、安装部署ES,用的6.8.6,用7版本的可能需要升级jre环境。用二进制方式安装。
2、安装部署kafka,2.2.0,超过2.2的,没有更高的kafka-manager,建议用2.2 以下的。让数据流变成异步的。
3、制作filebeat镜像,filebeat 是轻量版的logstash。流氏日志收集工具。落盘一行收走一行。
4、“sidecar”模式构建业务pod,filebeat容器先起,足够小,先于业务容器起来;还可以:共享网络名称空间,在entrypoint.sh中利用netstat判断,filebeat是否起来。
5、启动logstash,从kafka里取topic,根据不通的index pattern,打到了es里。
6、部署kibana。

kibana的使用要点:
1、时间选择器
2、环境选择器
3、项目选择器
4、关键字选择器

Spinnaker简介

在这里插入图片描述
在这里插入图片描述

它自己本身也是一套基于java,基于spring cloud 的微服务。
Deck: 完全独立的前端静态项目
Gate:API网关,用户界面和API调用者都要通过gate来进行通信,心脏
Fiat:认证服务
Clouddriver:云驱动,驱动底层云计算集群的引擎,大脑
Front50: 管理数据持久化的组建,redis缓存,后接对象存储,开源软件minio,比如OSS
Orca:编排任务的组件
Rosco:编排虚拟机的,比如KVM
Echo:信息通信的总线,发消息的
Igor:用来和jenkins用来通信的,依赖Echo组件
Halyard:安装部署spinnaker的工具

部署spinnaker的Armory发行版

安装部署minio

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

~]# docker pull minio/minio:latest

dp.yaml

kind: Deployment
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  labels:
    name: minio
  name: minio
  namespace: armory
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 7
  selector:
    matchLabels:
      name: minio
  template:
    metadata:
      labels:
        app: minio
        name: minio
    spec:
      containers:
      - name: minio
        image: harbor.od.com/armory/minio:latest
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 9000
          protocol: TCP
        args:
        - server
        - /data
        env:
        - name: MINIO_ACCESS_KEY
          value: admin
        - name: MINIO_SECRET_KEY
          value: admin123
        readinessProbe:
          failureThreshold: 3
          httpGet:
            path: /minio/health/ready
            port: 9000
            scheme: HTTP
          initialDelaySeconds: 10
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 5
        volumeMounts:
        - mountPath: /data
          name: data
      imagePullSecrets:
      - name: harbor
      volumes:
      - nfs:
          server: hdss7-200
          path: /data/nfs-volume/minio
        name: data
		
svc.yaml

apiVersion: v1
kind: Service
metadata:
  name: minio
  namespace: armory
spec:
  ports:
  - port: 80
    protocol: TCP
    targetPort: 9000
  selector:
    app: minio
	
ingress.yaml

kind: Ingress
apiVersion: extensions/v1beta1
metadata: 
  name: minio
  namespace: armory
spec:
  rules:
  - host: minio.od.com
    http:
      paths:
      - path: /
        backend: 
          serviceName: minio
          servicePort: 80

安装部署redis

在这里插入图片描述
在这里插入图片描述
其他组件过来连redis,是通过svc来连的。
在这里插入图片描述
在这里插入图片描述

		  
~]# docker pull redis:4.0.14

dp.yaml


kind: Deployment
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  labels:
    name: redis
  name: redis
  namespace: armory
spec:
  replicas: 1
  revisionHistoryLimit: 7
  selector:
    matchLabels:
      name: redis
  template:
    metadata:
      labels:
        app: redis
        name: redis
    spec:
      containers:
      - name: redis
        image: harbor.od.com/armory/redis:v4.0.14
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 6379
          protocol: TCP
      imagePullSecrets:
      - name: harbor

svc.yaml

apiVersion: v1
kind: Service
metadata:
  name: redis
  namespace: armory
spec:
  ports:
  - port: 6379
    protocol: TCP
    targetPort: 6379
  selector:
    app: redis

部署clouddriverr(上)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

~]# docker pull docker.io/armory/spinnaker-clouddriver-slim:release-1.8.x-14c9664

credentials
[default]
aws_access_key_id=admin
aws_secret_access_key=admin123

kubectl create secret generic credentials --from-file=./credentials -n armory

给clouddriver管理员权限,
kubectl config set-cluster myk8s --certificate-authority=./ca.pem --embed-certs=true --server=https://10.4.7.10:7443 --kubeconfig=config
kubectl config set-credentials cluster-admin --client-certificate=./admin.pem --client-key=./admin-key.pem --embed-certs=true --kubeconfig=config
kubectl config set-context myk8s-context --cluster=myk8s --user=cluster-admin --kubeconfig=config
kubectl config use-context myk8s-context --kubeconfig=config
kubectl create clusterrolebinding myk8s-admin --clusterrole=cluster-admin --user=cluster-admin

cluster-admin 是要对应集群管理员的名字,要不然还得做role binding,得多一个步骤,所以CN的名字教cluster-admin。
kubectl config view
# 可以远
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值