Kubernetes 版本:0.17.0
发布说明
清理
v1beta3
- 更新 example/walkthrough 到 v1beta3 #7940 (caesarxuchao)
- 更新 example/rethinkdb 到 v1beta3 #7946 (caesarxuchao)
- 验证所有 v1beta3 yaml 文件都工作;合并 yaml 文件 #7917 (caesarxuchao)
- 更新 examples/cassandra 到 api v1beta3 #7258 (caesarxuchao)
- 更新 persistent-volume 示例中的 service.json 到 v1beta3 #7899 (caesarxuchao)
- 更新 mysql-wordpress 示例以使用 v1beta3 API #7864 (caesarxuchao)
- 更新 examples/meteor 以使用 API v1beta3 #7848 (caesarxuchao)
- 更新 node-selector 示例到 API v1beta3 #7872 (caesarxuchao)
- 更新 logging-demo 以使用 API v1beta3;修改访问 Elasticsearch 和 Kibana 服务的方式 #7824 (caesarxuchao)
- 转换 skydns rc 以使用 v1beta3 并为其添加健康检查 #7619 (a-robinson)
- 更新 hazelcast 示例到 API 版本 v1beta3 #7728 (caesarxuchao)
- 修复 kubelet 中文件/http 的 v1beta3 对象 YAML 解析 #7515 (brendandburns)
- 更新 kubectl cluster-info 以显示 v1beta3 地址 #7502 (piosz)
Kubelet
- kubelet:修复竞争性 kubelet 测试。 #7980 (yifan-gu)
- kubelet/container:将 prober.ContainerCommandRunner 移至 container。 #8079 (yifan-gu)
- Kubelet:在 pending pod 状态中设置 host 字段 #6127 (yujuhong)
- 修复 kubelet 节点监听 #6442 (yujuhong)
- Kubelet:如果 static pod 改变,则重新创建 mirror pod #6607 (yujuhong)
- Kubelet:在 runtime cache 中正确记录时间戳 #7749 (yujuhong)
- Kubelet:等待容器运行时启动 #7729 (yujuhong)
- Kubelet:将 DockerManager 替换为 Runtime 接口 #7674 (yujuhong)
- Kubelet:在 SyncPods 中过滤掉已终止的 pod #7301 (yujuhong)
- Kubelet:并行清理 unwanted pods 中的容器 #7048 (yujuhong)
- kubelet:为 rkt 添加容器运行时选项。 #7952 (yifan-gu)
- kubelet/rkt:移除 build label。 #7916 (yifan-gu)
- kubelet/metrics:将 instrumented_docker.go 移至 dockertools。 #7327 (yifan-gu)
- kubelet/rkt:为 rkt 添加 GetPods()。 #7599 (yifan-gu)
- kubelet/rkt:为 rkt 添加 KillPod() 和 GetPodStatus()。 #7605 (yifan-gu)
- pkg/kubelet:修复 logging。 #4755 (yifan-gu)
- kubelet:重构 RunInContainer/ExecInContainer/PortForward。 #6491 (yifan-gu)
- kubelet/DockerManager:修复 GetPodStatus() 返回空错误的问题。 #6609 (yifan-gu)
- kubelet:将 pod infra 容器镜像设置移至 dockertools。 #6634 (yifan-gu)
- kubelet/fake_docker_client:在测试中使用自身的 PID 而不是 42。 #6653 (yifan-gu)
- kubelet/dockertool:将 Getpods() 移至 DockerManager。 #6778 (yifan-gu)
- kubelet/dockertools:在 containerManager 中添加 puller 接口。 #6776 (yifan-gu)
- kubelet:引入 PodInfraContainerChanged()。 #6608 (yifan-gu)
- kubelet/container:将 DockerCache 替换为 RuntimeCache。 #6795 (yifan-gu)
- kubelet:清理 computePodContainerChanges。 #6844 (yifan-gu)
- kubelet:重构 prober。 #7009 (yifan-gu)
- kubelet/container:更新 runtime 接口。 #7466 (yifan-gu)
- kubelet:重构 runonce.go 中的 isPodRunning() #7477 (yifan-gu)
- kubelet/rkt:添加基本的 rkt 运行时例程。 #7465 (yifan-gu)
- kubelet/rkt:添加 podInfo。 #7555 (yifan-gu)
- kubelet/container:向 runtime 接口添加 GetContainerLogs。 #7488 (yifan-gu)
- kubelet/rkt:添加将 kubelet pod 转换为 rkt pod 的例程。 #7543 (yifan-gu)
- kubelet/rkt:为 rkt 添加 RunPod()。 #7589 (yifan-gu)
- kubelet/rkt:添加 RunInContainer()/ExecInContainer()/PortForward()。 #7553 (yifan-gu)
- kubelet/container:将 ShouldContainerBeRestarted() 移至 runtime。 #7613 (yifan-gu)
- kubelet/rkt:向 rkt 添加 SyncPod()。 #7611 (yifan-gu)
- Kubelet:持久化容器的重启计数 #6794 (yujuhong)
- kubelet/container:将 pty*.go 移至容器运行时包。 #7951 (yifan-gu)
- kubelet:为 rkt 添加容器运行时选项。 #7900 (yifan-gu)
- kubelet/rkt:为镜像字符串添加 docker 前缀。 #7803 (yifan-gu)
- kubelet/rkt:向 rkt 注入依赖项。 #7849 (yifan-gu)
- kubelet/rkt:移除对 rkt.store 的依赖。 #7859 (yifan-gu)
- Kubelet 安全地与 apiserver 通信 #2387 (erictune)
- 将 EnvVarSource.FieldPath 重命名为 FieldRef 并添加示例 #7592 (pmorie)
- 为 kubelet 二进制文件添加 containerized 选项 #7741 (pmorie)
- 简化 kubelet 镜像构建 #7948 (pmorie)
- 移除 dockerized kubelet 运行中不必要的 bind-mount #7854 (pmorie)
- 添加在本地集群中 dockerize kubelet 的能力 #7798 (pmorie)
- 创建 kubelet 的 docker 镜像 #7797 (pmorie)
- 安全上下文 - 类型、kubelet、admission #7343 (pweil-)
- Kubelet:添加 rkt 作为运行时选项 #7743 (vmarmol)
- 修复 kubelet 的 docker RunInContainer 实现 #7746 (vishh)
AWS
- AWS:不要尝试在 jenkins e2e job 中复制 gce_keys #8018 (justinsb)
- AWS:从 config-default 复制一些新属性到 config.test #7992 (justinsb)
- AWS:使禁用 minion 公有 IP 分配成为可能 #7928 (manolitto)
- 更新 AWS CloudFormation 模板和 cloud-configs #7667 (antoineco)
- AWS:修复导致并非所有 token 都被写入的变量命名问题 #7736 (justinsb)
- AWS:将 apiserver 更改为直接监听 443 端口,而不是通过 nginx #7678 (justinsb)
- AWS:改进获取现有 VPC 和 subnet 的方式 #6606 (gust1n)
- AWS EBS 卷支持 #5138 (justinsb)
为 DNS 搜索引入 'svc' 段 #8089 (thockin)
添加为 etcd 路径定义前缀的能力 #5707 (kbeecher)
添加 kubectl log --previous 支持以查看最后终止的容器日志 #7973 (dchen1107)
添加禁用旧版 API 的标志 #8083 (brendandburns)
使 dockerkeyring 能够处理多个匹配的凭据 #7971 (deads2k)
将 Fluentd 转换为 Cloud Logging pod 规范到 YAML #8078 (satnam6502)
使用 etcd 分配 PortalIPs 而不是内存中分配 #7704 (smarterclayton)
消除 auth-path #8064 (deads2k)
记录镜像拉取失败原因 #7981 (yujuhong)
限制副本创建速率 #7869 (bprashanth)
升级到 Kibana 4 以进行集群日志记录 #7995 (satnam6502)
向 kube-dns 服务添加名称 #8049 (piosz)
通过将其移入 resource builder 来修复验证。 #7919 (brendandburns)
添加具有多个分片的缓存以减少锁竞争 #8050 (fgrzadkowski)
从可显示资源中删除 status #8039 (nak3)
重构卷接口以接收 pod 而不是 ObjectReference #8044 (pmorie)
修复 provider gke 的 kube-down #7565 (jlowdermilk)
multi-port 需要服务端口名称 #7786 (thockin)
增加 kubernetes master 的磁盘大小。 #8051 (fgrzadkowski)
expose:加载输入对象以提高安全性 #7774 (kargakis)
改进转换方法生成器 #7896 (wojtek-t)
向 kubectl cluster-info 添加显示外部 IP 的功能 #7557 (piosz)
添加缺失的 Errorf 格式化指令 #8037 (shawnps)
向 apiserver 添加启动代码以迁移 etcd 键 #7567 (kbeecher)
使用 docker go-client 的错误类型而不是字符串 #8021 (ddysher)
在 Vagrantfile 中准确获取硬件 CPU 数量。 #8024 (BenTheElder)
停止设置 GKE 特定的 kubeconfig 文件版本 #7921 (roberthbailey)
使 API server 通过 service proxy 处理 HEAD 请求 #7950 (satnam6502)
GlusterFS 关键 Bug 已解决 - 移除 README 中的警告 #7983 (wattsteve)
不要使用 `uname -n` 的第一个 token 作为主机名 #7967 (yujuhong)
在 vagrant 的 test-teardown 中调用 kube-down。 #7982 (BenTheElder)
defaults_tests:验证转换为 API 对象时的默认值 #6235 (yujuhong)
为 mirror pod 名称使用完整主机名。 #7910 (yujuhong)
移除运行时接口中的 RunPod #7657 (yujuhong)
清理 dockertools/manager.go 并添加更多单元测试 #7533 (yujuhong)
调整 Pod 终止和清理以适应通用容器运行时 #7525 (yujuhong)
修复 Replication Controller 中的 Pod 过滤问题 #7198 (yujuhong)
在
kubectl get pods
中打印容器状态 #7116 (yujuhong)在减少副本时优先删除非运行中的 Pod #6992 (yujuhong)
修复 Pod Manager 中的锁问题 #6872 (yujuhong)
限制 integration.go 中的并发测试数量 #6655 (yujuhong)
修复不同配置注释中的拼写错误 #7931 (pmorie)
更新 cAdvisor 依赖项。 #7929 (vmarmol)
Ubuntu 分发版:弃用 Ubuntu 单节点工作并将其合并到 Ubuntu 集群节点相关功能#5498 (resouer)
为 Jenkins E2E 脚本添加控制变量 #7935 (saad-ali)
检查节点状态作为 validate-cluster.sh 的一部分。 #7932 (fabioy)
添加旧端点清理功能 #7821 (lavalamp)
支持从重命名过程中恢复。 #7620 (brendandburns)
更新 Exec 和 Portforward 客户端以使用 Pod 子资源 #7715 (csrwng)
在 PV 结构体中添加了 NFS #7564 (markturansky)
修复 Vagrant 文档中的环境变量错误 #7904 (posita)
添加了一个简单的 Release Note 构建器,可从 GitHub API 抓取最近的 PR #7616(brendandburns)
调度器忽略处于错误状态的节点 #7668 (bprashanth)
为 etcd 设置 GOMAXPROCS #7863 (fgrzadkowski)
自动生成的转换方法相互调用 #7556 (wojtek-t)
使用 CoreOS 镜像作为工作节点启动 Kubernetes 集群 #7445 (dchen1107)
Godep: 为 rkt 添加 godep。 #7410 (yifan-gu)
为 rkt 添加 volumeGetter。 #7870 (yifan-gu)
更新 cAdvisor 依赖项。 #7897 (vmarmol)
DNS: 暴露 53/TCP 端口 #7822 (thockin)
当 Docker 无响应时设置 NodeReady=False #7763 (wojtek-t)
忽略事件的延迟指标 #7857 (fgrzadkowski)
清理 SecurityContext Admission #7792 (pweil-)
支持手动创建和生成的转换函数 #7832 (wojtek-t)
添加 etcd 操作的延迟指标 #7833 (fgrzadkowski)
更新 errors_test.go #7885 (hurf)
修改容器运行时 PullImage 的签名以支持带 Secret 的拉取 #7861 (pmorie)
修复 Service 文档中的 Bug:
selector
在 JSON 中的位置不正确 #7873(bkeroackdsc)修复未指定 CLUSTER_IP_RANGE 的 Provider 的 Controller Manager Manifest#7876 (cjcullen)
修复 Controller 单元测试 #7867 (bprashanth)
在 GCE 上启用 GCM 和 GCL,而不是 InfluxDB #7751 (saad-ali)
移除 cluster-cidr 必须是 Class B 的限制 #7862 (cjcullen)
修复 OpenShift 示例 #7591 (derekwaynecarr)
API Server - 在为子资源创建请求时在上下文中传递路径名 #7718 (csrwng)
滚动更新:添加对 --rollback 的支持。 #7575 (brendandburns)
更新到 container-vm-v20150505 (同时也将 GCE 更新到 Docker 1.6) #7820 (zmerlynn)
修复指标标签 #7830 (rhcarvalho)
修复 v1beta1 转换到 v1beta2 中的拼写错误 #7838 (pmorie)
skydns: 使用 etcd-2.x 原生语法,启用 IANA 分配的端口。 #7764(AntonioMeireles)
为 kube-proxy 指向 api-server 的默认 IP 地址添加了端口 6443 #7794 (markllama)
为认证文档添加了客户端头部信息。 #7834 (ashcrow)
清理启动日志中 safe_format_and_mount 的冗余输出 #7827 (zmerlynn)
默认将 allocate_node_cidrs 设置为空白。 #7829 (roberthbailey)
修复事件文档链接 #7823 (saad-ali)
Cobra 更新和 Bash 补全修复 #7776 (eparis)
修复 kube2sky 闪烁问题。修复 tools.GetEtcdVersion 以支持 etcd > 2.0.7 #7675 (cjcullen)
修改 kube2sky 使用 token-system-dns secret,指向 https 端点 ... #7154(cjcullen)
副本:序列化 created-by 引用 #7468 (simon3z)
将 mounter 注入到卷插件中 #7702 (pmorie)
更新 CoreOS Cloud Configs (与 0.15.x 和最新 OS alpha 版本保持一致) #6973(AntonioMeireles)
更新 kubeconfig-file 文档。 #7787 (jlowdermilk)
在终止命名空间时抛出 API 错误 #7780 (derekwaynecarr)
修复 PodExecOptions 的 Command 字段 #7773 (csrwng)
在 Run() 中启动 ImageManager 的内部管理。 #7785 (vmarmol)
修复 DeepCopy 以正确支持 runtime.EmbeddedObject #7769 (deads2k)
修复多 Master 环境下的 Master Service Endpoint 系统 #7273 (lavalamp)
将 genbashcomp 添加到 KUBE_TEST_TARGETS #7757 (nak3)
将 Cloud Provider 的 TCPLoadBalancerExists 函数改为 GetTCPLoadBalancer...#7669 (a-robinson)
为 Kubelet 二进制文件添加 containerized 选项 #7772 (pmorie)
修复 Swagger Spec #7779 (pmorie)
修复:问题 #7750 - Hyperkube Docker 镜像需要证书才能连接到 Cloud Provider#7755 (viklas)
为 rkt 添加构建标签 #7752 (vmarmol)
检查 Python 文件的许可证模板 #7672 (eparis)
滚动更新中的可靠更新 #7705 (bprashanth)
如果在集群创建后立即没有 Minion,不要突然退出。 #7650(roberthbailey)
在 Fedora 上使用 Flannel 设置 Kubernetes 多节点集群的指南 #7357(aveshagarwal)
在 Factory 中设置 Generators #7760 (kargakis)
减少 time.After 的使用 #7737 (lavalamp)
从
componentstatuses
调用中移除节点状态。 #7735 (fabioy)通过扩大剩余集群来应对故障 #7614 (tamsky)
修复 runtime_cache.go 中的拼写错误 #7725 (pmorie)
将非 GCE Salt 发行版更新到 1.6.0,在 GCE 上回退到 ContainerVM Docker 版本#7740 (zmerlynn)
如果 SaltStack 已安装,则跳过安装 #7744 (zmerlynn)
将 Pod 名称作为容器上的标签暴露出来。 #7712 (rjnagal)
记录 e2e SSH 测试中使用了哪个 SSH 密钥 #7732 (mbforbes)
添加一个关于 Kubernetes 的集中式简单入门指南。 #7649 (brendandburns)
明确说明调度目的下对 'Requests' 的不支持 #7443(vishh)
从主机接口中仅选择 IPv4 #7721 (smarterclayton)
指标测试无法在 Mac 上运行 #7723 (smarterclayton)
为 API Changes 文档添加 Swagger 生成步骤 #7727 (pmorie)
添加 NsenterMounter Mount 实现 #7703 (pmorie)
添加 StringSet.HasAny #7509 (deads2k)
添加一个集成测试,检查我们期望从 Master 导出的指标 #6941 (a-robinson)
Shellcheck.net 发现的次要 Bash 更新 #7722 (eparis)
为 run-container 添加 --hostport 参数。 #7536 (rjnagal)
让 rkt 实现容器运行时接口 #7659 (vmarmol)
更改注册不同版本 API 的顺序 #7629 (caesarxuchao)
暴露:以通用方式创建对象 #7699 (kargakis)
如果在 status.Replicas 上的单个 get/put 重试失败,则重新排队 RC #7643 (bprashanth)
Master 组件的日志 #7316 (ArtfulCoder)
Cloud Providers: 添加 oVirt 入门指南 #7522 (simon3z)
将 rkt-install 改为 oneshot 类型。 #7671 (vmarmol)
在 CoreOS 中为 Kubelet 提供 container_runtime 标志。 #7665 (vmarmol)
模板加速 #7654 (eparis)
在 Density 测试中记录失败 Pod 的主机 #7700 (wojtek-t)
移除多余的引号 #7655 (alindeman)
在 Bash 补全的自定义函数中添加 kubectl_label #7694 (nak3)
在 Kube Controller 中启用 Profiling #7696 (wojtek-t)
将 Vagrant 测试集群的默认 NUM_MINIONS 设置为 2 #7690 (BenTheElder)
添加指标来衡量缓存命中率 #7695 (fgrzadkowski)
在
kubectl get
命令的服务列中将 IP 改为 IP(S) #7662 (jlowdermilk)为 bash_completions 标注所需的标志 #7076 (eparis)
(次要) 为 etcd 错误添加 pgrep 调试信息 #7685 (jayunit100)
修复了当卷未绑定时 describe 命令中的 Nil 指针问题 #7676 (markturansky)
移除了不必要的右括号 #7691 (piosz)
为 PodSpec 添加了 TerminationGracePeriod 字段,并为 kubectl stop 命令添加了 grace-period 标志#7432 (piosz)
修复 test/e2e/scale.go 中的模板代码 #7689 (wojtek-t)
根据观察到的延迟更新过期超时时间 #7628 (bprashanth)
输出生成的转换函数/名称 #7644 (liggitt)
将 GCE Load Balancer 名称截断为 63 个字符 #7609 (brendandburns)
添加 SyncPod() 并移除 Kill/Run InContainer()。 #7603 (vmarmol)
将 Release 0.16 合并到 Master 分支 #7663 (brendandburns)
更新 examples/rethinkdb 的许可证模板 #7637 (eparis)
改进滚动更新的第一部分,允许动态生成下一个 Replication Controller。 #7268 (brendandburns)
为 examples/phabricator 添加许可证模板 #7638 (eparis)
在许可证模板中使用通用版权持有者名称 #7597 (eparis)
如果发生冲突,重试增加配额 #7633 (derekwaynecarr)
从 Runtime 接口中移除 GetContainers #7568 (yujuhong)
为 DockerManager 添加与镜像相关的方法 #7578 (yujuhong)
在 Kubelet 中移除更多 Docker 引用 #7586 (yujuhong)
在 DockerManager 中添加 KillContainerInPod #7601 (yujuhong)
Kubelet: 添加容器运行时选项。 #7652 (vmarmol)
将 Heapster 升级到 v0.11.0,Grafana 升级到 v0.7.0 #7626 (idosh)
将 github.com/onsi/ginkgo/ginkgo 作为 Release 的一部分构建 #7593 (ixdy)
不要自动解码 runtime.RawExtension #7490 (smarterclayton)
更新 Changelog。 #7500 (brendandburns)
为 DockerManager 添加 SyncPod() 并将其用于 Kubelet #7610 (vmarmol)
构建:为我们推送到 GCS 的每个文件推送 .md5 和 .sha1 文件 #7602 (zmerlynn)
修复滚动更新 --image 命令 #7540 (bprashanth)
更新 docs/man/md2man-all.sh 的许可证模板 #7636 (eparis)
在 examples/k8petstore 中包含 shell 许可证模板 #7632 (eparis)
为 Kubelet 添加 --cgroup_parent 标志,用于设置 Pod 的父 Cgroup #7277 (guenter)
将当前目录更改为配置目录 #7209 (you-n-g)
将 Weave 设置为 0.9.0 并更新 Azure 的 Etcd 配置 #7158 (idosh)
增强 Describe 命令,如果未找到原始资源,则搜索匹配项。 #7467 (brendandburns)
为存储在 Etcd 中的对象添加一个简单的缓存。 #7559 (fgrzadkowski)
Rkt GC #7549 (yifan-gu)
Rkt Pull #7550 (yifan-gu)
使用 mount(8) 和 umount(8) 实现 Mount 接口 #6400 (ddysher)
修剪 Cloud Logging 的 Fluentd 标签 #7588 (satnam6502)
GCE CoreOS 集群 - 根据变量设置 Master 名称 #7569 (bakins)
JSON 中 KubeProxyVersion 的大小写错误 #7535 (smarterclayton)
让节点报告其外部 IP,而不是 Master 的 IP。 #7530 (mbforbes)
将集群日志标签修剪为 Pod 名称和容器名称 #7539 (satnam6502)
处理值为 "false" 的布尔查询参数的转换 #7541 (csrwng)
为 Runtime 接口添加与镜像相关的方法。 #7532 (vmarmol)
测试自动生成的转换是否未被手动编辑 #7560 (wojtek-t)
提及镜像版本标签 :latest 的行为 #7484 (colemickens)
readinessProbe 调用了 livenessProbe.Exec.Command,导致 "invalid memory address or nil pointer dereference"。#7487 (njuicsgz)
添加 RuntimeHooks 以抽象 Kubelet 逻辑 #7520 (vmarmol)
在 Request 上暴露 URL() 方法以允许构建 URL #7546 (smarterclayton)
为存储在 Etcd 中的对象添加一个简单的缓存 #7288 (fgrzadkowski)
准备链式调用自动生成的转换方法 #7431 (wojtek-t)
在 API Server 中创建 Etcd 客户端时增加 maxIdleConnection 限制。 #7353 (wojtek-t)
改进转换方法生成器。 #7354 (wojtek-t)
自动生成转换方法的代码 #7107 (wojtek-t)
支持匿名发布的恢复 #7407 (brendandburns)
将 kube2sky 升级到 1.2。将其指向 https 端点 (第三次尝试)。 #7527 (cjcullen)
cluster/gce/coreos: 在 node.yaml 中添加 metadata-service #7526 (yifan-gu)
将 ComputePodChanges 移到 Docker 运行时 #7480 (vmarmol)
Cobra rebase #7510 (eparis)
从 Kubelet 添加系统 OOM 事件 #6718 (vishh)
将 Prober 移到其自己的子包 #7479 (vmarmol)
修复 parallel-e2e.sh 以使其在我的 Macbook 上工作 (bash v3.2) #7513 (cjcullen)
将网络插件的 TearDown 移到 DockerManager #7449 (vmarmol)
修复 #7498 - CoreOS 入门指南使用了无效的 Cloud Config #7499 (elsonrodriguez)
修复对象键值对后出现的无效字符 "'" #7504 (resouer)
修复 hooks/description 以捕获没有 description 标签的 API 字段 #7482 (nikhiljindal)
cadvisor 已废弃,因此 kubelet 服务不再需要它。 #7457 (aveshagarwal)
将事件的默认命名空间设置为 "default" #7408 (vishh)
修复命名空间转换中的拼写错误 #7446 (liggitt)
将 Secret 注册表转换为使用更新/创建策略,允许按 Type 过滤 #7419 (liggitt)
在查找 Pod 的 GlusterFS 端点时使用其命名空间。 #7102 (jsafrane)
修复部署脚本中 kube-proxy 路径的名称。 #7427 (jsafrane)
要下载,请访问 https://github.com/GoogleCloudPlatform/kubernetes/releases/tag/v0.17.0