Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Chu Peng 楚鹏
minikube
提交
e4ebaeab
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,发现更多精彩内容 >>
提交
e4ebaeab
编写于
1月 08, 2021
作者:
A
Anders F Björklund
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Complete the container runtime and config change
上级
010e5fb5
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
34 addition
and
18 deletion
+34
-18
pkg/drivers/generic/generic.go
pkg/drivers/generic/generic.go
+28
-16
pkg/minikube/registry/drvs/generic/generic.go
pkg/minikube/registry/drvs/generic/generic.go
+6
-2
未找到文件。
pkg/drivers/generic/generic.go
浏览文件 @
e4ebaeab
...
...
@@ -30,9 +30,11 @@ import (
"github.com/docker/machine/libmachine/log"
"github.com/docker/machine/libmachine/mcnutils"
"github.com/docker/machine/libmachine/state"
"github.com/pkg/errors"
"k8s.io/klog/v2"
pkgdrivers
"k8s.io/minikube/pkg/drivers"
"k8s.io/minikube/pkg/minikube/command"
"k8s.io/minikube/pkg/minikube/cruntime"
"k8s.io/minikube/pkg/minikube/sysinit"
)
...
...
@@ -41,6 +43,15 @@ type Driver struct {
*
pkgdrivers
.
CommonDriver
EnginePort
int
SSHKey
string
runtime
cruntime
.
Manager
exec
command
.
Runner
}
// Config is configuration for the Generic driver
type
Config
struct
{
MachineName
string
StorePath
string
ContainerRuntime
string
}
const
(
...
...
@@ -48,14 +59,23 @@ const (
)
// NewDriver creates and returns a new instance of the driver
func
NewDriver
(
hostName
,
storePath
strin
g
)
*
Driver
{
return
&
Driver
{
func
NewDriver
(
c
Confi
g
)
*
Driver
{
d
:=
&
Driver
{
EnginePort
:
engine
.
DefaultPort
,
BaseDriver
:
&
drivers
.
BaseDriver
{
MachineName
:
host
Name
,
StorePath
:
s
torePath
,
MachineName
:
c
.
Machine
Name
,
StorePath
:
c
.
S
torePath
,
},
}
runner
:=
command
.
NewSSHRunner
(
d
)
runtime
,
err
:=
cruntime
.
New
(
cruntime
.
Config
{
Type
:
c
.
ContainerRuntime
,
Runner
:
runner
})
// Libraries shouldn't panic, but there is no way for drivers to return error :(
if
err
!=
nil
{
klog
.
Fatalf
(
"unable to create container runtime: %v"
,
err
)
}
d
.
runtime
=
runtime
d
.
exec
=
runner
return
d
}
// DriverName returns the name of the driver
...
...
@@ -139,14 +159,12 @@ func (d *Driver) Start() error {
// Stop a host gracefully, including any containers that we are managing.
func
(
d
*
Driver
)
Stop
()
error
{
exec
:=
command
.
NewSSHRunner
(
d
)
if
err
:=
sysinit
.
New
(
exec
)
.
Stop
(
"kubelet"
);
err
!=
nil
{
if
err
:=
sysinit
.
New
(
d
.
exec
)
.
Stop
(
"kubelet"
);
err
!=
nil
{
klog
.
Warningf
(
"couldn't stop kubelet. will continue with stop anyways: %v"
,
err
)
if
err
:=
sysinit
.
New
(
exec
)
.
ForceStop
(
"kubelet"
);
err
!=
nil
{
if
err
:=
sysinit
.
New
(
d
.
exec
)
.
ForceStop
(
"kubelet"
);
err
!=
nil
{
klog
.
Warningf
(
"couldn't force stop kubelet. will continue with stop anyways: %v"
,
err
)
}
}
/* TODO
containers
,
err
:=
d
.
runtime
.
ListContainers
(
cruntime
.
ListOptions
{})
if
err
!=
nil
{
return
errors
.
Wrap
(
err
,
"containers"
)
...
...
@@ -156,25 +174,21 @@ func (d *Driver) Stop() error {
return
errors
.
Wrap
(
err
,
"stop containers"
)
}
}
*/
klog
.
Infof
(
"generic driver is stopped!"
)
return
nil
}
// Restart a host
func
(
d
*
Driver
)
Restart
()
error
{
exec
:=
command
.
NewSSHRunner
(
d
)
return
restartKubelet
(
exec
)
return
restartKubelet
(
d
.
exec
)
}
// Kill stops a host forcefully, including any containers that we are managing.
func
(
d
*
Driver
)
Kill
()
error
{
exec
:=
command
.
NewSSHRunner
(
d
)
if
err
:=
sysinit
.
New
(
exec
)
.
ForceStop
(
"kubelet"
);
err
!=
nil
{
if
err
:=
sysinit
.
New
(
d
.
exec
)
.
ForceStop
(
"kubelet"
);
err
!=
nil
{
klog
.
Warningf
(
"couldn't force stop kubelet. will continue with kill anyways: %v"
,
err
)
}
/* TODO
// First try to gracefully stop containers
containers
,
err
:=
d
.
runtime
.
ListContainers
(
cruntime
.
ListOptions
{})
if
err
!=
nil
{
...
...
@@ -198,9 +212,7 @@ func (d *Driver) Kill() error {
if
err
:=
d
.
runtime
.
KillContainers
(
containers
);
err
!=
nil
{
return
errors
.
Wrap
(
err
,
"kill"
)
}
*/
return
nil
}
func
(
d
*
Driver
)
Remove
()
error
{
...
...
pkg/minikube/registry/drvs/generic/generic.go
浏览文件 @
e4ebaeab
...
...
@@ -35,7 +35,7 @@ func init() {
Config
:
configure
,
Status
:
status
,
Priority
:
registry
.
Fallback
,
Init
:
func
()
drivers
.
Driver
{
return
generic
.
NewDriver
(
""
,
""
)
},
Init
:
func
()
drivers
.
Driver
{
return
generic
.
NewDriver
(
generic
.
Config
{}
)
},
})
if
err
!=
nil
{
panic
(
fmt
.
Sprintf
(
"unable to register: %v"
,
err
))
...
...
@@ -43,7 +43,11 @@ func init() {
}
func
configure
(
cc
config
.
ClusterConfig
,
n
config
.
Node
)
(
interface
{},
error
)
{
d
:=
generic
.
NewDriver
(
driver
.
MachineName
(
cc
,
n
),
localpath
.
MiniPath
())
d
:=
generic
.
NewDriver
(
generic
.
Config
{
MachineName
:
driver
.
MachineName
(
cc
,
n
),
StorePath
:
localpath
.
MiniPath
(),
ContainerRuntime
:
cc
.
KubernetesConfig
.
ContainerRuntime
,
})
if
cc
.
GenericIPAddress
==
""
{
return
nil
,
errors
.
Errorf
(
"please provide an IP address"
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录