我有一个我认为常见的用例,但我真的很难找到解决方案:
我想Kustomize在我们的部署中重用补丁中的变量。具体来说,我们使用提交 ID 来引用图像标签(用例 A)和与部署相关的 k8s 作业(用例 B)。
我们使用的设置中,对于每个 ArgoCD 应用程序,我们都有一个/base/文件夹/overlays/[environment-name],并且该基础用kustomization.yaml.
一个非常简单的用法 -/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)
工作起来就像一个魅力,因为我们可以将其重新用于部署本身及其相关作业,所有这些都只需一个提交引用。
问题:
我们使用 N 个作业来进行 0 停机部署的迁移,其中我们运行运行迁移的 alembic 容器,并且我们有一个waitforit initContainer监听作业完成的容器,即当迁移成功时才能进行部署。
现在的问题是,我需要触摸一个服务覆盖层中的 4 个文件来修补各处的 id(我们用它来识别作业):
- image: groundnuty/k8s-wait-for:v1.4
imagePullPolicy: IfNotPresent
args:
- "job"
- "job-commit-id"
Run Code Online (Sandbox Code Playgroud)
apiVersion: batch/v1
kind: Job
metadata:
name: job-commit-id
Run Code Online (Sandbox Code Playgroud)
我认为应该可行的是:
我在使用youtube-ios-player-helperGoogle/YouTube提供的广告连播自动播放视频时遇到问题.这是我的应用程序的相关部分(iOS 10,Swift 3):
一个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() 什么都不做我们使用 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
kubernetes ×2
amazon-ec2 ×1
amazon-eks ×1
argocd ×1
gitops ×1
ios ×1
kustomize ×1
swift ×1
terraform ×1
youtube ×1
youtube-api ×1
ytplayerview ×1