关于kubernetes:Kubernetes-Knative-玩转云上弹幕部署-获取通关奖励

8次阅读

共计 5358 个字符,预计需要花费 14 分钟才能阅读完成。

2021.4.2-4.11 期间工作通关处分

工作实现后,您能够支付如下各种处分:

1、您能够支付“阿里云 20 元抵用券”共计 1500 张,每天限领 150 张。

2、CNCF 官网“Kubernetes”指尖陀螺一个加减压握力圈一个,共计 1000 套,每天 200 套。

3、侥幸转盘锦鲤抽奖,礼品范畴机械键盘、阿里云定制水杯、无线充电线、台灯,共计 16 个。

支付地址:https://developer.aliyun.com/…

必读阐明

依照操作文档,实现部署工作,会耗费肯定的云资源,并产生费用,包含容器服务集群 ASK 及 Kafka 实例所需资源费用。

  • 音讯服务 Kafka:1 个 5 元月包
  • 容器服务 ASK 集群:集群底层计算资源 ECI 弹性容器实例(4c8g 左右)、集群 APIserver 的内网 SLB、集群拉取公网镜像须要的 NAT 网关实例费与流量费用
  • 利用对外裸露公网拜访:1 个内网 SLB 与 1 个公网 EIP

以 1 小时的举荐体验时长为例,预计耗费 6 - 7 元。(音讯队列 Kafka 5 元包 可按量付费)

创立 ASK 集群

1. 关上容器服务控制台,开始创立 ASK 集群
https://cs.console.aliyun.com…

2. 填写配置并创立集群
倡议抉择深圳 region,并且请记住后续资源开明均抉择此 region,并留神下图红框中的配置统一;否则无奈部署本试验利用、或代金券额度有余无奈进行。

备注:

1 此项须要您的账号有 100 元余额,否则无奈通过。

2 如果您曾经有可用 Kafka 实例,此处可抉择与 Kafka 实例对应 region。

创立集群参考图

点击右侧的“创立集群”按钮,页面出现三列查看我的项目,顺次通过即可创立集群。

备注:如果您呈现“not authorized to create an enhanced NAT gateway”的集群创立失败提醒,请从新再创立一次。

3. 在 ASK 中部署容器的 Eventing

集群创立结束后,呈现在控制台左侧导航栏中。单击新建集群名,进入集群治理更多。

a. 在集群治理页左侧导航栏中,抉择利用 > Knative。
b. 在组件治理页签外围组件区域单击 Eventing 操作列的部署。

Knative 组件 Eventing 部署参考图

4. 在 ASK 集群中装置 Kafka Source
a. 在集群治理页左侧导航栏中,抉择利用 > Knative。
b. 在组件治理页签 add-on 组件区域单击 Kafka 操作列的部署。

在容器集群中退出 Kafka 组件部署参考图

5. 记录 ASK 集群网络资源,据此信息部署 Kafka
您须要依据 ASK 集群的虚构专有网络 VPC、节点虚拟机 VSwitch,相应地部署 Kafka 实例。

点击左侧目录集群信息》集群资源,找到对应的 VSwitch ID 和 VPC ID,您能够放弃此窗口。

购买 Kafka 实例

新开一个浏览器窗口,输出 https://common-buy.aliyun.com…

1. 开明 kafka 5 元包
抉择「流量规格:alikafka.hw.test」,「实例类型:VPC 实例」,「磁盘类型:高效云盘」。即可取得 1 个月 5 元的 Kafka 资源包。同时,倡议抉择深圳 region,务必与后面 ASK 集群在同一个 region。

备注:此款优惠价格仅限于 Kafka 新客户,如果您曾经领有了 Kafka 实例能够复用已有资源,或者间接购买按量实例。

2. 部署实例
a. 在音讯队列 Kafka 版控制台的实例列表页面,找到未部署的实例,单击部署。


Kafka 实例部署参考图

b. 在部署对话框,部署实例。

从 VPC ID 列表,抉择上述 ASK 集群的 VPC ID。
从 VSwitch ID 列表,抉择上述 ASK 集群的 VSwitch ID。抉择 VSwitch ID 后,零碎会为您主动抉择该交换机所在的可用区。
可选:如果实例的规格类型为专业版,您能够抉择是否跨可用区部署。跨可用区部署具备较高的容灾能力,能够抵挡机房级别的故障。
单击部署。
c. 实例进入部署中状态。实例部署预计须要 10 分钟~30 分钟。

3. 创立 Topic
创立 topic,请命名 demo。「不倡议批改,这样能够间接复用前面 yaml」


4. 创立 Consumer Group
创立 Consumer Group,请命名 demo-consumer。「不倡议批改,这样能够间接复用前面 yaml」


5. 为 Kafka 增加白名单
点击实例》抉择灰色目录平安配置》平安变更》增加白名单 IP》输出 0.0.0.0/0 确定增加


6. 保留本 Kafka 实例默认接入点
a. 在音讯队列 Kafka 版控制台的实例列表页面,单击指标实例名称。
b. 在实例详情页面的根本信息区域,查看实例的默认接入点。
在实例详情中能够看到该信息,抉择蓝色复制按钮,暂存 Kafka 默认接入点,倡议能够临时存到本地某个 txt 文件中。

通过模版文件(yaml)部署弹幕相干应用服务

将上面 yaml 的两处 KAFKA_SOURCE_LIST 替换成上步中获取到的 Kaka「默认接入点」。

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: danmu-portal
  namespace: default
spec:
  template:
    metadata:
      annotations:
        autoscaling.knative.dev/maxScale: "1"
        autoscaling.knative.dev/minScale: "1"
    spec:
      containerConcurrency: 0
      serviceAccountName: danmu-install-sa
      containers:
      - image: registry.cn-hangzhou.aliyuncs.com/knative-sample/danmu:v1.1
        name: user-container
        env:
        - name: KAFKA_SERVER
          value: "__KAFKA_SOURCE_LIST__"
        - name: KAFKA_TOPIC
          value: "demo"
        ports:
        - containerPort: 8080
          name: http1
---
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: danmu-message
  namespace: default
spec:
  template:
    metadata:
      annotations:
        autoscaling.knative.dev/maxScale: "10"
        autoscaling.knative.dev/minScale: "1"
    spec:
      containerConcurrency: 2
      containers:
      - args:
        - /manager
        - --url=http://danmu-portal.default.svc.cluster.local/api/send
        env:
        - name: POD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        image: registry.cn-hangzhou.aliyuncs.com/knative-sample/danmu-manager:danmu_48680a04-20210319171906
        name: user-container
        ports:
        - containerPort: 8000
          name: http1
---
apiVersion: sources.knative.dev/v1alpha1
kind: KafkaSource
metadata:
  annotations:
    k8s.aliyun.com/req-timeout: "60"
    k8s.aliyun.com/retry-count: "1"
    k8s.aliyun.com/retry-interval: "2"
  name: kafka-danmu
  namespace: default
spec:
  bootstrapServers: "__KAFKA_SOURCE_LIST__"
  consumerGroup: demo-consumer
  sink:
    ref:
      apiVersion: serving.knative.dev/v1
      kind: Service
      name: danmu-message
      namespace: default
  topics: demo
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRole
metadata:
  name: danmu-install
  labels:
    app: danmu
rules:
- apiGroups: [""]
  resources: ["configmaps"]
  verbs: ["get", "list"]

---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
  name: danmu-install-role-binding
  labels:
    app: danmu
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: danmu-install
subjects:
  - kind: ServiceAccount
    name: danmu-install-sa
    namespace: default
    
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: danmu-install-sa
  namespace: default
  labels:
    app: danmu

返回到容器服务控制台,找到此前的集群并开始部署。

在集群治理页左侧导航栏中,抉择利用 > Knative > 服务治理。
在服务治理页单击应用模版创立,贴入 yaml 文件,并且把这个 yaml 中的两个 KAFKA_SOURCE_LIST 替换成 kafka「默认接入点」。
将资源请部署到 default 命名空间。


最初胜利查看示例图

绑定域名并开始体验

1. 找到 ASK 集群中 Knative 的拜访网关,用于下一步绑定域名
在 Knative 对应组件治理页面,复制拜访网关地址


2. 增加 host 绑定
a.Linux 和 Mac 编辑 /etc/hosts 文件,在最初增加一行,将对应的“47.95.xx.xx”更换成上步获取到的「拜访网关地址」

47.95.xx.xx danmu-portal.default.example.com

b.Windows

间接在 C:\WINDOWS\system32\drivers\etc 目录的 HOSTS 文件最初增加一行 47.95.139.xx danmu-portal.default.example.com 即可。具体操作办法参见:https://yq.aliyun.com/article…

c. 如果如果有公网域名,也能够绑定

最初,祝贺通关!!开始体验吧!!
在浏览器输出“http://danmu-portal.default.e…”开始体验吧

删除所有资源

1. 先删除容器集群中的利用、组件以及集群。
a、先删除 Knative 中的“服务治理“,列表中有刚刚通过 yaml 部署的两个服务。

b、随后 Knative 中的“组建治理”,一键卸载 Kantive 及相干组建。

c、返回集群的 工作负载》无状态》抉择“所有命名空间”,此时应该仅剩惟一的“kafkasource-kafka-danmu*”一项,点击最右端的“更多”》删除。

d、返回集群的容器组》抉择“所有命名空间”,此时应该仅剩惟一的“storage-version-migration-eventing-eventing**”一项,点击最右端的删除。

5、在确认上述四个页面都曾经删除结束后,您当初 ASK 集群即为空集群,能够进行删除。返回集群列表,对试验集群进行删除。找到对应集群,点击最右端的“更多”》“查看更多”「抉择保留集群中的 VPC 和虚构交换机」删除。


阐明:VPC 和虚构交换机是免费资源,此资源中有 Kafka 实例,出于应用平安思考,容器不会删除这两个收费的网络资源。

2. 删除 Kafka 资源包
如果您依照前序步骤购买的是 5 元实例且没有抉择主动续费,该实例资源在一个月后主动生效并且不会再产生费用。您能够持续体验该产品,如果十分心愿删除可提交工单。

3. 再次确认本试验所有付费资源均已删除,不再产生费用
ASK 控制台,确定并无集群 https://cs.console.aliyun.com…

ECI 控制台,切换到此前应用 region,确定并无 ECI 资源 https://eci.console.aliyun.com/

NAT 控制台,切换到此前应用 region,确定并无 NAT 资源 https://vpc.console.aliyun.co…

SLB 控制台,切换到此前应用 region,确定并无 SLB 资源 https://slb.console.aliyun.co…

EIP 控制台,切换到此前应用 region,确定并无 EIP 资源 https://vpc.console.aliyun.co…

Kafka 控制台,切换到此前应用 region,确定并无 Kafka 资源 https://kafka.console.aliyun….

正文完
 0