Skip to content
GitLab
Explore
Projects
Groups
Topics
Snippets
Projects
Groups
Topics
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
1105 Внедрение механизмов обеспечения безопасности цепочки поставки программных проектов
Legacy
scanned-projects
helm
Commits
6751343e
Commit
6751343e
authored
8 years ago
by
Adam Reese
Browse files
Options
Download
Plain Diff
Merge pull request #644 from adamreese/fix/local-cluster
fix(local-cluster): check to see if kubelet is running
parents
fb8dd392
a6d675db
main
Release
add-codeql
dependabot/go_modules/github.com/docker/distribution-2.8.2incompatible
dependabot/go_modules/github.com/lib/pq-1.10.9
dependabot/go_modules/github.com/rubenv/sql-migrate-1.4.0
dependabot/go_modules/golang.org/x/crypto-0.9.0
dependabot/go_modules/golang.org/x/term-0.8.0
dependabot/go_modules/k8s.io/klog/v2-2.100.1
dev-v2
feat-v3/event-emitter-lua
kube-update-test
release-2.0
release-2.1
release-2.10
release-2.11
release-2.12
release-2.13
release-2.14
release-2.15
release-2.16
release-2.17
release-2.2
release-2.3
release-2.4
release-2.5
release-2.6
release-2.7
release-2.8
release-2.9
release-3.0
release-3.1
release-3.10
release-3.11
release-3.12
release-3.2
release-3.3
release-3.4
release-3.5
release-3.6
release-3.6.1
release-3.6.2
release-3.7
release-3.8
release-3.9
release-v3.0.0-beta.4
v3.12.0
v3.12.0-rc.1
v3.12.0-dev.1
v3.11.3
v3.11.2
v3.11.1
v3.11.0
v3.11.0-rc.2
v3.11.0-rc.1
v3.10.3
v3.10.2
v3.10.1
v3.10.0
v3.10.0-rc.1
v3.9.4
v3.9.3
v3.9.2
v3.9.1
v3.9.0
v3.9.0-rc.1
v3.8.2
v3.8.1
v3.8.0
v3.8.0-rc.2
v3.8.0-rc.1
v3.7.2
v3.7.1
v3.7.0
v3.7.0-rc.3
v3.7.0-rc.2
v3.7.0-rc.1
v3.6.3
v3.6.2
v3.6.1
v3.6.0
v3.6.0-rc.1
v3.5.4
v3.5.3
v3.5.2
v3.5.1
v3.5.0
v3.5.0-rc.2
v3.5.0-rc.1
v3.4.2
v3.4.1
v3.4.0
v3.4.0-rc.1
v3.3.4
v3.3.3
v3.3.2
v3.3.1
v3.3.0
v3.3.0-rc.2
v3.3.0-rc.1
v3.2.4
v3.2.3
v3.2.2
v3.2.1
v3.2.0
v3.2.0-rc.1
v3.1.3
v3.1.2
v3.1.1
v3.1.0
v3.1.0-rc.3
v3.1.0-rc.2
v3.1.0-rc.1
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v3.0.0-rc.4
v3.0.0-rc.3
v3.0.0-rc.2
v3.0.0-rc.1
v3.0.0-beta.5
v3.0.0-beta.4
v3.0.0-beta.3
v3.0.0-beta.2
v3.0.0-beta.1
v3.0.0-alpha.2
v3.0.0-alpha.1
v2.17.0
v2.17.0-rc.1
v2.16.12
v2.16.11
v2.16.10
v2.16.9
v2.16.8
v2.16.7
v2.16.6
v2.16.5
v2.16.4
v2.16.3
v2.16.2
v2.16.1
v2.16.0
v2.16.0-rc.2
v2.16.0-rc.1
v2.15.2
v2.15.1
v2.15.0
v2.15.0-rc.2
v2.15.0-rc.1
v2.14.3
v2.14.2
v2.14.1
v2.14.0
v2.14.0-rc.2
v2.14.0-rc.1
v2.13.1
v2.13.1-rc.1
v2.13.0
v2.13.0-rc.2
v2.13.0-rc.1
v2.12.3
v2.12.2
v2.12.1
v2.12.0
v2.12.0-rc.2
v2.12.0-rc.1
v2.11.0
v2.11.0-rc.4
v2.11.0-rc.3
v2.11.0-rc.2
v2.11.0-rc.1
v2.10.0
v2.10.0-rc.3
v2.10.0-rc.2
v2.10.0-rc.1
v2.9.1
v2.9.0
v2.9.0-rc5
v2.9.0-rc4
v2.9.0-rc3
v2.9.0-rc2
v2.9.0-rc1
v2.8.2
v2.8.2-rc1
v2.8.1
v2.8.0
v2.8.0-rc.1
v2.7.2
v2.7.1
v2.7.0
v2.7.0-rc1
v2.6.2
v2.6.1
v2.6.0
v2.5.1
v2.5.0
v2.4.2
v2.4.1
v2.4.0
v2.3.1
v2.3.0
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.3
v2.1.2
v2.1.1
v2.1.0
v2.0.2
v2.0.1
v2.0.0
v2.0.0-rc.2
v2.0.0-rc.1
v2.0.0-beta.2
v2.0.0-beta.1
v2.0.0-alpha.5
v2.0.0-alpha.4
v2.0.0-alpha.3
v2.0.0-alpha.2
v2.0.0-alpha.1
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
scripts/local-cluster.sh
+41
-34
scripts/local-cluster.sh
with
41 additions
and
34 deletions
+41
-34
scripts/local-cluster.sh
+
41
−
34
View file @
6751343e
...
...
@@ -30,6 +30,18 @@ command_exists() {
hash
"
${
1
}
"
2>/dev/null
}
# fetch url using wget or curl and print to stdout
fetch_url
()
{
local
url
=
"
$1
"
if
command_exists wget
;
then
curl
-sSL
"
$url
"
elif
command_exists curl
;
then
wget
-qO-
"
$url
"
else
error_exit
"Couldn't find curl or wget. Bailing out."
fi
}
# Program Functions ------------------------------------------------------------
# Check host platform and docker host
...
...
@@ -78,28 +90,30 @@ verify_prereqs() {
command_exists docker
||
error_exit
"You need docker"
if
!
docker info
>
/dev/null 2>&1
;
then
if
!
docker info
>
/dev/null 2>&1
;
then
error_exit
"Can't connect to 'docker' daemon."
fi
if
docker inspect kubelet
>
/dev/null 2>&1
;
then
error_exit
"Kubernetes is already running"
fi
$KUBECTL
version
--client
>
/dev/null
||
download_kubectl
}
# Get the latest stable release tag
get_latest_version_number
()
{
local
-r
latest_url
=
"https://storage.googleapis.com/kubernetes-release/release/stable.txt"
if
command_exists wget
;
then
wget
-qO-
${
latest_url
}
elif
command_exists curl
;
then
curl
-Ss
${
latest_url
}
else
error_exit
"Couldn't find curl or wget. Bailing out."
local
channel
=
"stable"
if
[[
-n
"
${
ALPHA
:-}
"
]]
;
then
channel
=
"latest"
fi
local
latest_url
=
"https://storage.googleapis.com/kubernetes-release/release/
${
channel
}
.txt"
fetch_url
"
$latest_url
"
}
# Detect ip address od docker host
detect_docker_host_ip
()
{
if
[
-n
"
${
DOCKER_HOST
:-}
"
]
;
then
if
[
[
-n
"
${
DOCKER_HOST
:-}
"
]
]
;
then
awk
-F
'[/:]'
'{print $4}'
<<<
"
$DOCKER_HOST
"
else
ifconfig docker0
\
...
...
@@ -151,27 +165,33 @@ start_kubernetes() {
/hyperkube kubelet
\
--containerized
\
--hostname-override
=
"127.0.0.1"
\
--api-servers
=
http://localhost:
8080
\
--api-servers
=
http://localhost:
${
KUBE_PORT
}
\
--config
=
/etc/kubernetes/manifests
\
--allow-privileged
=
true
\
${
dns_args
}
\
--v
=
${
LOG_LEVEL
}
>
/dev/null
until
$KUBECTL
cluster-info &> /dev/null
;
do
sleep
1
done
# Create kube-system namespace in kubernetes
$KUBECTL
create namespace kube-system
>
/dev/null
# We expect to have at least 3 running pods - etcd, master and kube-proxy.
local
attempt
=
1
while
((
$(
$
KUBECTL
get pods
--no-headers
2>/dev/null |
grep
-c
"Running"
)
< 3
))
;
do
while
((
$(
KUBECTL get pods
--all-namespaces
--no-headers
2>/dev/null |
grep
-c
"Running"
)
< 3
))
;
do
echo
-n
"."
sleep
$((
attempt++
))
done
echo
local
end_time
=
$(
date
+%s
)
echo
"Started master components in
$((
end_time
-
start_time
))
seconds."
echo
"Started master components in
$((
$(
date
+%s
)
-
start_time
))
seconds."
}
# Open kubernetes master api port.
setup_firewall
()
{
[[
-n
"
${
DOCKER_MACHINE_NAME
}
"
]]
||
return
[[
-n
"
${
DOCKER_MACHINE_NAME
:-
}
"
]]
||
return
echo
"Adding iptables hackery for docker-machine..."
...
...
@@ -184,13 +204,6 @@ setup_firewall() {
fi
}
# Create kube-system namespace in kubernetes
create_kube_system_namespace
()
{
echo
"Creating kube-system namespace..."
$KUBECTL
create
-f
./scripts/cluster/kube-system.yaml
>
/dev/null
}
# Activate skydns in kubernetes and wait for pods to be ready.
create_kube_dns
()
{
[[
"
${
ENABLE_CLUSTER_DNS
}
"
=
true
]]
||
return
...
...
@@ -209,8 +222,7 @@ create_kube_dns() {
sleep
$((
attempt++
))
done
echo
local
end_time
=
$(
date
+%s
)
echo
"Started DNS in
$((
end_time
-
start_time
))
seconds."
echo
"Started DNS in
$((
$(
date
+%s
)
-
start_time
))
seconds."
}
# Generate kubeconfig data for the created cluster.
...
...
@@ -231,17 +243,13 @@ generate_kubeconfig() {
download_kubectl
()
{
echo
"Downloading kubectl binary..."
local
output
=
"/usr/local/bin/kubectl"
kubectl_url
=
"https://storage.googleapis.com/kubernetes-release/release/
${
KUBE_VERSION
}
/bin/
${
host_os
}
/
${
host_arch
}
/kubectl"
if
command_exists wget
;
then
wget
-O
./bin/kubectl
"
${
kubectl_url
}
"
elif
command_exists curl
;
then
curl
-sSOL
./bin/kubectl
"
${
kubectl_url
}
"
else
error_exit
"Couldn't find curl or wget. Bailing out."
fi
chmod
a+x ./bin/kubectl
fetch_url
"
${
kubectl_url
}
"
>
"
${
output
}
"
chmod
a+x
"
${
output
}
"
KUBECTL
=
./bin/kubectl
KUBECTL
=
"
${
output
}
"
}
# Clean volumes that are left by kubelet
...
...
@@ -297,9 +305,8 @@ kube_up() {
clean_volumes
setup_firewall
start_kubernetes
generate_kubeconfig
create_kube_system_namespace
start_kubernetes
create_kube_dns
$KUBECTL
cluster-info
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment
Menu
Explore
Projects
Groups
Topics
Snippets