Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
de9d7229
Commit
de9d7229
authored
Sep 02, 2015
by
Kevin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update centos deployment scripts, add sudo user support.
parent
4e261357
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
44 additions
and
54 deletions
+44
-54
build.sh
cluster/centos/build.sh
+2
-2
docker.sh
cluster/centos/minion/scripts/docker.sh
+1
-1
util.sh
cluster/centos/util.sh
+41
-51
No files found.
cluster/centos/build.sh
View file @
de9d7229
...
@@ -16,7 +16,7 @@
...
@@ -16,7 +16,7 @@
# Download the flannel, etcd, docker, bridge-utils and K8s binaries automatically
# Download the flannel, etcd, docker, bridge-utils and K8s binaries automatically
# and store into binaries directory.
# and store into binaries directory.
# Run as
root
only
# Run as
sudoers
only
# author @kevin-wangzefeng
# author @kevin-wangzefeng
...
@@ -56,7 +56,7 @@ function download-releases() {
...
@@ -56,7 +56,7 @@ function download-releases() {
curl
-L
https://get.docker.com/builds/Linux/x86_64/docker-latest
-o
${
RELEASES_DIR
}
/docker
curl
-L
https://get.docker.com/builds/Linux/x86_64/docker-latest
-o
${
RELEASES_DIR
}
/docker
echo
"Download bridge-utils from yum repo ..."
echo
"Download bridge-utils from yum repo ..."
yum
--downloadonly
--downloaddir
=
${
RELEASES_DIR
}
install
bridge-utils
sudo
yum
--downloadonly
--downloaddir
=
${
RELEASES_DIR
}
install
bridge-utils
mkdir
-p
${
RELEASES_DIR
}
/brctl-tmp
mkdir
-p
${
RELEASES_DIR
}
/brctl-tmp
local
rpm_file
=
$(
ls
${
RELEASES_DIR
}
/bridge-utils-
*
.rpm
)
local
rpm_file
=
$(
ls
${
RELEASES_DIR
}
/bridge-utils-
*
.rpm
)
...
...
cluster/centos/minion/scripts/docker.sh
View file @
de9d7229
...
@@ -36,7 +36,7 @@ EnvironmentFile=-/run/flannel/docker
...
@@ -36,7 +36,7 @@ EnvironmentFile=-/run/flannel/docker
EnvironmentFile=-/opt/kubernetes/cfg/docker
EnvironmentFile=-/opt/kubernetes/cfg/docker
WorkingDirectory=/opt/kubernetes/bin
WorkingDirectory=/opt/kubernetes/bin
ExecStartPre=/opt/kubernetes/bin/remove-docker0.sh
ExecStartPre=/opt/kubernetes/bin/remove-docker0.sh
ExecStart=/opt/kubernetes/bin/docker
-d
\
$DOCKER_OPT_BIP
\
$DOCKER_OPT_MTU
\
$DOCKER_OPTS
ExecStart=/opt/kubernetes/bin/docker
daemon
\
$DOCKER_OPT_BIP
\
$DOCKER_OPT_MTU
\
$DOCKER_OPTS
LimitNOFILE=1048576
LimitNOFILE=1048576
LimitNPROC=1048576
LimitNPROC=1048576
...
...
cluster/centos/util.sh
View file @
de9d7229
...
@@ -32,7 +32,7 @@ source "$KUBE_ROOT/cluster/common.sh"
...
@@ -32,7 +32,7 @@ source "$KUBE_ROOT/cluster/common.sh"
KUBECTL_PATH
=
${
KUBE_ROOT
}
/cluster/centos/binaries/kubectl
KUBECTL_PATH
=
${
KUBE_ROOT
}
/cluster/centos/binaries/kubectl
# Directory to be used for master and minion provisioning.
# Directory to be used for master and minion provisioning.
KUBE_TEMP
=
"~/kube
rnetes
"
KUBE_TEMP
=
"~/kube
_temp
"
# Must ensure that the following ENV vars are set
# Must ensure that the following ENV vars are set
...
@@ -144,7 +144,7 @@ function verify-master() {
...
@@ -144,7 +144,7 @@ function verify-master() {
local
daemon
local
daemon
for
daemon
in
"
${
required_daemon
[@]
}
"
;
do
for
daemon
in
"
${
required_daemon
[@]
}
"
;
do
local
rc
=
0
local
rc
=
0
kube-ssh
"
${
MASTER
}
"
"pgrep -f
${
daemon
}
"
>
/dev/null 2>&1
||
rc
=
"
$?
"
kube-ssh
"
${
MASTER
}
"
"
sudo
pgrep -f
${
daemon
}
"
>
/dev/null 2>&1
||
rc
=
"
$?
"
if
[[
"
${
rc
}
"
-ne
"0"
]]
;
then
if
[[
"
${
rc
}
"
-ne
"0"
]]
;
then
printf
"."
printf
"."
validated
=
"1"
validated
=
"1"
...
@@ -172,7 +172,7 @@ function verify-minion() {
...
@@ -172,7 +172,7 @@ function verify-minion() {
local
daemon
local
daemon
for
daemon
in
"
${
required_daemon
[@]
}
"
;
do
for
daemon
in
"
${
required_daemon
[@]
}
"
;
do
local
rc
=
0
local
rc
=
0
kube-ssh
"
${
1
}
"
"pgrep -f
${
daemon
}
"
>
/dev/null 2>&1
||
rc
=
"
$?
"
kube-ssh
"
${
1
}
"
"
sudo
pgrep -f
${
daemon
}
"
>
/dev/null 2>&1
||
rc
=
"
$?
"
if
[[
"
${
rc
}
"
-ne
"0"
]]
;
then
if
[[
"
${
rc
}
"
-ne
"0"
]]
;
then
printf
"."
printf
"."
validated
=
"1"
validated
=
"1"
...
@@ -193,17 +193,16 @@ function tear-down-master() {
...
@@ -193,17 +193,16 @@ function tear-down-master() {
echo
"[INFO] tear-down-master on
${
MASTER
}
"
echo
"[INFO] tear-down-master on
${
MASTER
}
"
for
service_name
in
etcd kube-apiserver kube-controller-manager kube-scheduler
;
do
for
service_name
in
etcd kube-apiserver kube-controller-manager kube-scheduler
;
do
service_file
=
"/usr/lib/systemd/system/
${
service_name
}
.service"
service_file
=
"/usr/lib/systemd/system/
${
service_name
}
.service"
(
kube-ssh
"
$MASTER
"
"
\
echo
"if [[ -f
$service_file
]]; then"
if [[ -f
$service_file
]]; then
\
echo
"systemctl stop
$service_name
"
sudo systemctl stop
$service_name
;
\
echo
"systemctl disable
$service_name
"
sudo systemctl disable
$service_name
;
\
echo
"rm -f
$service_file
"
sudo rm -f
$service_file
;
\
echo
"fi"
fi"
)
| kube-ssh
"
$MASTER
"
done
done
kube-ssh
"
${
MASTER
}
"
"rm -rf /opt/kubernetes"
kube-ssh
"
${
MASTER
}
"
"
sudo
rm -rf /opt/kubernetes"
kube-ssh
"
${
MASTER
}
"
"rm -rf
${
KUBE_TEMP
}
"
kube-ssh
"
${
MASTER
}
"
"
sudo
rm -rf
${
KUBE_TEMP
}
"
kube-ssh
"
${
MASTER
}
"
"rm -rf /var/lib/etcd"
kube-ssh
"
${
MASTER
}
"
"
sudo
rm -rf /var/lib/etcd"
}
}
# Clean up on minion
# Clean up on minion
...
@@ -211,17 +210,16 @@ function tear-down-minion() {
...
@@ -211,17 +210,16 @@ function tear-down-minion() {
echo
"[INFO] tear-down-minion on
$1
"
echo
"[INFO] tear-down-minion on
$1
"
for
service_name
in
kube-proxy kubelet docker flannel
;
do
for
service_name
in
kube-proxy kubelet docker flannel
;
do
service_file
=
"/usr/lib/systemd/system/
${
service_name
}
.service"
service_file
=
"/usr/lib/systemd/system/
${
service_name
}
.service"
(
kube-ssh
"
$1
"
"
\
echo
"if [[ -f
$service_file
]]; then"
if [[ -f
$service_file
]]; then
\
echo
"systemctl stop
$service_name
"
sudo systemctl stop
$service_name
;
\
echo
"systemctl disable
$service_name
"
sudo systemctl disable
$service_name
;
\
echo
"rm -f
$service_file
"
sudo rm -f
$service_file
;
\
echo
"fi"
fi"
)
| kube-ssh
"
$1
"
done
done
kube-ssh
"
$1
"
"rm -rf /run/flannel"
kube-ssh
"
$1
"
"
sudo
rm -rf /run/flannel"
kube-ssh
"
$1
"
"rm -rf /opt/kubernetes"
kube-ssh
"
$1
"
"
sudo
rm -rf /opt/kubernetes"
kube-ssh
"
$1
"
"rm -rf
${
KUBE_TEMP
}
"
kube-ssh
"
$1
"
"
sudo
rm -rf
${
KUBE_TEMP
}
"
}
}
# Provision master
# Provision master
...
@@ -238,17 +236,14 @@ function provision-master() {
...
@@ -238,17 +236,14 @@ function provision-master() {
# scp -r ${SSH_OPTS} master config-default.sh copy-files.sh util.sh "${MASTER}:${KUBE_TEMP}"
# scp -r ${SSH_OPTS} master config-default.sh copy-files.sh util.sh "${MASTER}:${KUBE_TEMP}"
kube-scp
${
MASTER
}
"
${
ROOT
}
/../saltbase/salt/generate-cert/make-ca-cert.sh
${
ROOT
}
/binaries/master
${
ROOT
}
/master
${
ROOT
}
/config-default.sh
${
ROOT
}
/util.sh"
"
${
KUBE_TEMP
}
"
kube-scp
${
MASTER
}
"
${
ROOT
}
/../saltbase/salt/generate-cert/make-ca-cert.sh
${
ROOT
}
/binaries/master
${
ROOT
}
/master
${
ROOT
}
/config-default.sh
${
ROOT
}
/util.sh"
"
${
KUBE_TEMP
}
"
(
kube-ssh
"
${
MASTER
}
"
"
\
echo
"cp -r
${
KUBE_TEMP
}
/master/bin /opt/kubernetes"
sudo cp -r
${
KUBE_TEMP
}
/master/bin /opt/kubernetes;
\
echo
"chmod -R +x /opt/kubernetes/bin"
sudo chmod -R +x /opt/kubernetes/bin;
\
sudo bash
${
KUBE_TEMP
}
/make-ca-cert.sh
${
master_ip
}
IP:
${
master_ip
}
,IP:
${
SERVICE_CLUSTER_IP_RANGE
%.*
}
.1,DNS:kubernetes,DNS:kubernetes.default,DNS:kubernetes.default.svc,DNS:kubernetes.default.svc.cluster.local;
\
echo
"bash
${
KUBE_TEMP
}
/make-ca-cert.sh
${
master_ip
}
IP:
${
master_ip
}
,IP:
${
SERVICE_CLUSTER_IP_RANGE
%.*
}
.1,DNS:kubernetes,DNS:kubernetes.default,DNS:kubernetes.default.svc,DNS:kubernetes.default.svc.cluster.local"
sudo bash
${
KUBE_TEMP
}
/master/scripts/etcd.sh;
\
echo
"bash
${
KUBE_TEMP
}
/master/scripts/etcd.sh"
sudo bash
${
KUBE_TEMP
}
/master/scripts/apiserver.sh
${
master_ip
}
${
ETCD_SERVERS
}
${
SERVICE_CLUSTER_IP_RANGE
}
${
ADMISSION_CONTROL
}
;
\
echo
"bash
${
KUBE_TEMP
}
/master/scripts/apiserver.sh
${
master_ip
}
${
ETCD_SERVERS
}
${
SERVICE_CLUSTER_IP_RANGE
}
${
ADMISSION_CONTROL
}
"
sudo bash
${
KUBE_TEMP
}
/master/scripts/controller-manager.sh
${
master_ip
}
;
\
echo
"bash
${
KUBE_TEMP
}
/master/scripts/controller-manager.sh
${
master_ip
}
"
sudo bash
${
KUBE_TEMP
}
/master/scripts/scheduler.sh
${
master_ip
}
"
echo
"bash
${
KUBE_TEMP
}
/master/scripts/scheduler.sh
${
master_ip
}
"
)
| kube-ssh
"
${
MASTER
}
"
}
}
...
@@ -270,16 +265,13 @@ function provision-minion() {
...
@@ -270,16 +265,13 @@ function provision-minion() {
# scp -r ${SSH_OPTS} minion config-default.sh copy-files.sh util.sh "${minion_ip}:${KUBE_TEMP}"
# scp -r ${SSH_OPTS} minion config-default.sh copy-files.sh util.sh "${minion_ip}:${KUBE_TEMP}"
kube-scp
${
minion
}
"
${
ROOT
}
/binaries/minion
${
ROOT
}
/minion
${
ROOT
}
/config-default.sh
${
ROOT
}
/util.sh"
${
KUBE_TEMP
}
kube-scp
${
minion
}
"
${
ROOT
}
/binaries/minion
${
ROOT
}
/minion
${
ROOT
}
/config-default.sh
${
ROOT
}
/util.sh"
${
KUBE_TEMP
}
(
kube-ssh
"
${
minion
}
"
"
\
echo
"cp -r
${
KUBE_TEMP
}
/minion/bin /opt/kubernetes"
sudo cp -r
${
KUBE_TEMP
}
/minion/bin /opt/kubernetes;
\
echo
"chmod -R +x /opt/kubernetes/bin"
sudo chmod -R +x /opt/kubernetes/bin;
\
sudo bash
${
KUBE_TEMP
}
/minion/scripts/flannel.sh
${
ETCD_SERVERS
}
${
FLANNEL_NET
}
;
\
echo
"bash
${
KUBE_TEMP
}
/minion/scripts/flannel.sh
${
ETCD_SERVERS
}
${
FLANNEL_NET
}
"
sudo bash
${
KUBE_TEMP
}
/minion/scripts/docker.sh
\"
${
DOCKER_OPTS
}
\"
;
\
echo
"bash
${
KUBE_TEMP
}
/minion/scripts/docker.sh
\"
${
DOCKER_OPTS
}
\"
"
sudo bash
${
KUBE_TEMP
}
/minion/scripts/kubelet.sh
${
master_ip
}
${
minion_ip
}
;
\
echo
"bash
${
KUBE_TEMP
}
/minion/scripts/kubelet.sh
${
master_ip
}
${
minion_ip
}
"
sudo bash
${
KUBE_TEMP
}
/minion/scripts/proxy.sh
${
master_ip
}
"
echo
"bash
${
KUBE_TEMP
}
/minion/scripts/proxy.sh
${
master_ip
}
"
)
| kube-ssh
"
${
minion
}
"
}
}
# Create dirs that'll be used during setup on target machine.
# Create dirs that'll be used during setup on target machine.
...
@@ -287,18 +279,16 @@ function provision-minion() {
...
@@ -287,18 +279,16 @@ function provision-minion() {
# Assumed vars:
# Assumed vars:
# KUBE_TEMP
# KUBE_TEMP
function
ensure-setup-dir
()
{
function
ensure-setup-dir
()
{
(
kube-ssh
"
${
1
}
"
"mkdir -p
${
KUBE_TEMP
}
;
\
echo
"mkdir -p
${
KUBE_TEMP
}
"
sudo mkdir -p /opt/kubernetes/bin;
\
echo
"mkdir -p /opt/kubernetes/bin"
sudo mkdir -p /opt/kubernetes/cfg"
echo
"mkdir -p /opt/kubernetes/cfg"
)
| kube-ssh
"
${
1
}
"
}
}
# Run command over ssh
# Run command over ssh
function
kube-ssh
()
{
function
kube-ssh
()
{
local
host
=
"
$1
"
local
host
=
"
$1
"
shift
shift
ssh
${
SSH_OPTS
-
}
"
${
host
}
"
"
$@
"
#
>/dev/null 2>&1
ssh
${
SSH_OPTS
}
-t
"
${
host
}
"
"
$@
"
>
/dev/null 2>&1
}
}
# Copy file recursively over ssh
# Copy file recursively over ssh
...
@@ -306,7 +296,7 @@ function kube-scp() {
...
@@ -306,7 +296,7 @@ function kube-scp() {
local
host
=
"
$1
"
local
host
=
"
$1
"
local
src
=(
$2
)
local
src
=(
$2
)
local
dst
=
"
$3
"
local
dst
=
"
$3
"
scp
-r
${
SSH_OPTS
-
}
${
src
[*]
}
"
${
host
}
:
${
dst
}
"
scp
-r
${
SSH_OPTS
}
${
src
[*]
}
"
${
host
}
:
${
dst
}
"
}
}
# Ensure that we have a password created for validating to the master. Will
# Ensure that we have a password created for validating to the master. Will
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment