Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Chu Peng 楚鹏
minikube
提交
af57dbc0
M
minikube
项目概览
Chu Peng 楚鹏
/
minikube
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
minikube
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
af57dbc0
编写于
3月 24, 2021
作者:
S
Sharif Elgamal
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
account for new API, add extra checks for stability
上级
3b43d8e2
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
34 addition
and
14 deletion
+34
-14
pkg/addons/addons_gcpauth.go
pkg/addons/addons_gcpauth.go
+34
-14
未找到文件。
pkg/addons/addons_gcpauth.go
浏览文件 @
af57dbc0
...
...
@@ -23,6 +23,7 @@ import (
"os"
"os/exec"
"strconv"
"time"
"github.com/pkg/errors"
"golang.org/x/oauth2/google"
...
...
@@ -95,7 +96,7 @@ func enableAddonGCPAuth(cfg *config.ClusterConfig) error {
".dockercfg"
:
[]
byte
(
fmt
.
Sprintf
(
`{"https://gcr.io":{"username":"oauth2accesstoken","password":"%s","email":"none"}}`
,
token
.
AccessToken
)),
}
namespaces
,
err
:=
client
.
Namespaces
()
.
List
(
metav1
.
ListOptions
{})
namespaces
,
err
:=
client
.
Namespaces
()
.
List
(
context
.
TODO
(),
metav1
.
ListOptions
{})
if
err
!=
nil
{
return
err
}
...
...
@@ -103,30 +104,49 @@ func enableAddonGCPAuth(cfg *config.ClusterConfig) error {
for
_
,
n
:=
range
namespaces
.
Items
{
secrets
:=
client
.
Secrets
(
n
.
Name
)
secretObj
:=
&
corev1
.
Secret
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
secretName
,
},
Data
:
data
,
Type
:
"kubernetes.io/dockercfg"
,
exists
:=
false
secList
,
err
:=
secrets
.
List
(
context
.
TODO
(),
metav1
.
ListOptions
{})
for
_
,
s
:=
range
secList
.
Items
{
if
s
.
Name
==
secretName
{
exists
=
true
}
}
_
,
err
=
secrets
.
Create
(
secretObj
)
if
err
!=
nil
{
return
err
if
!
exists
{
secretObj
:=
&
corev1
.
Secret
{
ObjectMeta
:
metav1
.
ObjectMeta
{
Name
:
secretName
,
},
Data
:
data
,
Type
:
"kubernetes.io/dockercfg"
,
}
_
,
err
=
secrets
.
Create
(
context
.
TODO
(),
secretObj
,
metav1
.
CreateOptions
{})
if
err
!=
nil
{
return
err
}
}
// Now patch the secret into all the service accounts we can find
serviceaccounts
:=
client
.
ServiceAccounts
(
n
.
Name
)
salist
,
err
:=
serviceaccounts
.
List
(
metav1
.
ListOptions
{})
salist
,
err
:=
serviceaccounts
.
List
(
context
.
TODO
(),
metav1
.
ListOptions
{})
if
err
!=
nil
{
return
err
}
// Let's make sure we at least find the default service account
for
len
(
salist
.
Items
)
==
0
{
salist
,
err
=
serviceaccounts
.
List
(
context
.
TODO
(),
metav1
.
ListOptions
{})
if
err
!=
nil
{
return
err
}
time
.
Sleep
(
1
*
time
.
Second
)
}
ips
:=
corev1
.
LocalObjectReference
{
Name
:
"gcp-auth"
}
for
_
,
sa
:=
range
salist
.
Items
{
sa
.
ImagePullSecrets
=
append
(
sa
.
ImagePullSecrets
,
ips
)
_
,
err
:=
serviceaccounts
.
Update
(
&
sa
)
_
,
err
:=
serviceaccounts
.
Update
(
context
.
TODO
(),
&
sa
,
metav1
.
UpdateOptions
{}
)
if
err
!=
nil
{
return
err
}
...
...
@@ -185,7 +205,7 @@ func disableAddonGCPAuth(cfg *config.ClusterConfig) error {
return
err
}
namespaces
,
err
:=
client
.
Namespaces
()
.
List
(
metav1
.
ListOptions
{})
namespaces
,
err
:=
client
.
Namespaces
()
.
List
(
context
.
TODO
(),
metav1
.
ListOptions
{})
if
err
!=
nil
{
exit
.
Message
(
reason
.
InternalCredsNotFound
,
err
.
Error
())
return
err
...
...
@@ -194,7 +214,7 @@ func disableAddonGCPAuth(cfg *config.ClusterConfig) error {
// No need to check for an error here, if the secret doesn't exist, no harm done.
for
_
,
n
:=
range
namespaces
.
Items
{
secrets
:=
client
.
Secrets
(
n
.
Name
)
err
:=
secrets
.
Delete
(
secretName
,
&
metav1
.
DeleteOptions
{})
err
:=
secrets
.
Delete
(
context
.
TODO
(),
secretName
,
metav1
.
DeleteOptions
{})
if
err
!=
nil
{
klog
.
Infof
(
"error deleting secret: %v"
,
err
)
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录