小编tec*_*242的帖子

在 kustomize 清单中创建变量

我有一个我认为常见的用例,但我真的很难找到解决方案:

我想Kustomize在我们的部署中重用补丁中的变量。具体来说,我们使用提交 ID 来引用图像标签(用例 A)和与部署相关的 k8s 作业(用例 B)。

我们使用的设置中,对于每个 ArgoCD 应用程序,我们都有一个/base/文件夹/overlays/[environment-name],并且该基础用kustomization.yaml.

用例A:

一个非常简单的用法 -/overlays/[environment-name]我们有一个kustomization.yaml使用:

images:
- name: our-aws-repo-url
  newName: our-aws-repo-url
  newTag: commit-id
Run Code Online (Sandbox Code Playgroud)

工作起来就像一个魅力,因为我们可以将其重新用于部署本身及其相关作业,所有这些都只需一个提交引用。

用例 B:

问题:

我们使用 N 个作业来进行 0 停机部署的迁移,其中我们运行运行迁移的 alembic 容器,并且我们有一个waitforit initContainer监听作业完成的容器,即当迁移成功时才能进行部署。

现在的问题是,我需要触摸一个服务覆盖层中的 4 个文件来修补各处的 id(我们用它来识别作业):

  • 部署.yaml 像这样:
- image: groundnuty/k8s-wait-for:v1.4
  imagePullPolicy: IfNotPresent
  args: 
   - "job"
   - "job-commit-id"
Run Code Online (Sandbox Code Playgroud)
  • job.yaml 本身更改作业的重新触发以进行新的部署/潜在的迁移:
apiVersion: batch/v1
kind: Job
metadata:
  name: job-commit-id

Run Code Online (Sandbox Code Playgroud)
  • kustomization.yaml,如用例 A 中所述。

我认为应该可行的是:

  1. 在 kustomization.yaml 中以某种方式定义变量 …

kubernetes kustomize gitops argocd

7
推荐指数
1
解决办法
1万
查看次数

使用YouTube v3 API和youtube-ios-player-helper的iOS应用无法自动播放视频

我在使用youtube-ios-player-helperGoogle/YouTube提供的广告连播自动播放视频时遇到问题.这是我的应用程序的相关部分(iOS 10,Swift 3):

  • 一个ChannelVideosViewController,它将视频缩略图显示为带有UITapGestureRecognizer的UIViews,UITapGestureRecognizer又转换为我的PlayerViewController,并从API调用传递videoId
  • 一个PlayerViewController如下:

    var youtubePlayerView = YTPlayerView() // player for videos
    var youtubeVideoID = String() // videoId from API passed by ChannelVideosViewController
    
    override func viewDidLoad() {
    // ... skipping UI stuff
    
    view.addSubview(youtubePlayerView)
    youtubePlayerView.load(withVideoId: youtubeVideoID, playerVars: ["autoplay":1,"modestbranding":1,"showinfo":0,"rel":0])
    }
    
    Run Code Online (Sandbox Code Playgroud)

使用上面的代码,当我按下"大红色按钮"时,帮助程序库成功加载视频并全屏播放,但我希望在我进入视图后直接自动播放视频.有没有办法做到这一点?

  • "autoplay":1来自YouTube的文档似乎并不适合iOS.
  • youtubePlayerView.playVideo() 什么都不做

youtube youtube-api ios swift ytplayerview

5
推荐指数
1
解决办法
5254
查看次数

如何扩大 Terraformed EKS 节点的体积

我们使用 Terraform 来管理 AWS 上的各种资源(从堡垒主机到 VPC、RDS 以及 EKS)已经快一年了。

有时我们真的对 EKS 模块感到困惑。然而,这可能是由于缺乏理解(和文档),所以这里是:

问题:扩容磁盘(卷)


module "eks" {
  source  = "terraform-aws-modules/eks/aws"
  version = "12.2.0"

  cluster_name    = local.cluster_name
  cluster_version = "1.19"
  subnets         = module.vpc.private_subnets

  #...

  node_groups = {
    first = {
      desired_capacity = 1
      max_capacity     = 5
      min_capacity     = 1

      instance_type = "m5.large"
    }
  }
Run Code Online (Sandbox Code Playgroud)

我认为这个(开发)k8s 集群节点的默认值很容易是默认的 20GB,但它很快就填满了,所以我知道想要更改disk_size为 40GB。

=> 我想我可以添加类似disk_size=40和完成的东西。

terraform plan告诉我需要更换节点。这是一个 1 节点集群,所以不好。即使是这样,我也不想耗尽节点。这就是为什么我认为我们正在使用像 EKS 这样的托管 k8。

预期行为:由于这些是弹性卷,我应该能够扩大但不能缩小规模,为什么这是不可能的?我可以定义。从 AWS UI 执行此操作。

当然有一个有点可怕的警告:

您确定要修改卷 vol-xx 吗?性能更改可能需要一些时间才能完全生效。您可能需要扩展卷上的操作系统文件系统以使用任何新分配的空间

但我可以使用提供的文档: …

amazon-ec2 kubernetes terraform terraform-provider-aws amazon-eks

5
推荐指数
2
解决办法
5810
查看次数