Skip to content

Commit

Permalink
Merge pull request #639 from Random-Liu/remove-standalone-mode
Browse files Browse the repository at this point in the history
Remove standalone mode
  • Loading branch information
Random-Liu committed Mar 6, 2018
2 parents f24be11 + 640e7ac commit d3b112a
Show file tree
Hide file tree
Showing 33 changed files with 380 additions and 1,013 deletions.
16 changes: 2 additions & 14 deletions .travis.yml
Expand Up @@ -35,27 +35,15 @@ jobs:
- make install.tools
- make .gitvalidation
- make binaries
- make containerd
go: "1.10"
- stage: Test
script:
- make install.deps
- make containerd
- sudo make install-containerd
- make test
- make test-integration
- make test-cri
after_script:
# Abuse travis to preserve the log.
- cat /tmp/test-integration/cri-containerd.log
- cat /tmp/test-integration/containerd.log
- cat /tmp/test-cri/cri-containerd.log
- cat /tmp/test-cri/containerd.log
go: "1.10"
- script:
- make install.deps
- make containerd
- sudo make install-containerd
- make test-integration STANDALONE_CRI_CONTAINERD=false
- make test-cri STANDALONE_CRI_CONTAINERD=false
after_script:
# Abuse travis to preserve the log.
- cat /tmp/test-integration/containerd.log
Expand Down
46 changes: 23 additions & 23 deletions Makefile
Expand Up @@ -41,12 +41,14 @@ help:
@echo "Usage: make <target>"
@echo
@echo " * 'install' - Install binaries to system locations"
@echo " * 'binaries' - Build cri-containerd and ctrcri"
@echo " * 'static-binaries - Build static cri-containerd and ctrcri"
@echo " * 'binaries' - Build containerd and ctrcri"
@echo " * 'static-binaries - Build static containerd and ctrcri"
@echo " * 'ctrcri' - Build ctrcri"
@echo " * 'install-ctrcri' - Install ctrcri"
@echo " * 'containerd' - Build a customized containerd with CRI plugin for testing"
@echo " * 'install-containerd' - Install customized containerd to system location"
@echo " * 'release' - Build release tarball"
@echo " * 'push' - Push release tarball to GCS"
@echo " * 'containerd' - Build a customized containerd with CRI plugin for testing"
@echo " * 'install-containerd' - Install customized containerd to system location"
@echo " * 'test' - Test cri-containerd with unit test"
@echo " * 'test-integration' - Test cri-containerd with integration test"
@echo " * 'test-cri' - Test cri-containerd with cri validation test"
Expand Down Expand Up @@ -89,13 +91,6 @@ sync-vendor:

update-vendor: sync-vendor sort-vendor

$(BUILD_DIR)/cri-containerd: $(SOURCES)
$(GO) build -o $@ \
-tags '$(BUILD_TAGS)' \
-ldflags '$(GO_LDFLAGS)' \
-gcflags '$(GO_GCFLAGS)' \
$(PROJECT)/cmd/cri-containerd

$(BUILD_DIR)/ctrcri: $(SOURCES)
$(GO) build -o $@ \
-tags '$(BUILD_TAGS)' \
Expand Down Expand Up @@ -131,17 +126,25 @@ test-e2e-node: binaries
clean:
rm -rf $(BUILD_DIR)/*

binaries: $(BUILD_DIR)/cri-containerd $(BUILD_DIR)/ctrcri
binaries: $(BUILD_DIR)/containerd $(BUILD_DIR)/ctrcri

static-binaries: GO_LDFLAGS += -extldflags "-fno-PIC -static"
static-binaries: $(BUILD_DIR)/cri-containerd $(BUILD_DIR)/ctrcri
static-binaries: $(BUILD_DIR)/containerd $(BUILD_DIR)/ctrcri

ctrcri: $(BUILD_DIR)/ctrcri

install: binaries
install -D -m 755 $(BUILD_DIR)/cri-containerd $(BINDIR)/cri-containerd
install-ctrcri: ctrcri
install -D -m 755 $(BUILD_DIR)/ctrcri $(BINDIR)/ctrcri

containerd: $(BUILD_DIR)/containerd

install-containerd: containerd
install -D -m 755 $(BUILD_DIR)/containerd $(BINDIR)/containerd

install: install-ctrcri install-containerd

uninstall:
rm -f $(BINDIR)/cri-containerd
rm -f $(BINDIR)/containerd
rm -f $(BINDIR)/ctrcri

$(BUILD_DIR)/$(TARBALL): static-binaries vendor.conf
Expand All @@ -152,11 +155,6 @@ release: $(BUILD_DIR)/$(TARBALL)
push: $(BUILD_DIR)/$(TARBALL)
@BUILD_DIR=$(BUILD_DIR) TARBALL=$(TARBALL) VERSION=$(VERSION) ./hack/push.sh

containerd: $(BUILD_DIR)/containerd

install-containerd: containerd
install -D -m 755 $(BUILD_DIR)/containerd $(BINDIR)/containerd

proto:
@hack/update-proto.sh

Expand Down Expand Up @@ -189,6 +187,10 @@ install.tools: .install.gitvalidation .install.gometalinter
.PHONY: \
binaries \
static-binaries \
ctrcri \
install-ctrcri \
containerd \
install-containerd \
release \
push \
boiler \
Expand All @@ -198,8 +200,6 @@ install.tools: .install.gitvalidation .install.gometalinter
help \
install \
lint \
containerd \
install-containerd \
test \
test-integration \
test-cri \
Expand Down
94 changes: 35 additions & 59 deletions cluster/gce/cloud-init/master.yaml
@@ -1,29 +1,31 @@
#cloud-config

write_files:
# Setup cri-containerd.
- path: /etc/systemd/system/cri-containerd-installation.service
# Setup containerd.
- path: /etc/systemd/system/containerd-installation.service
permissions: 0644
owner: root
content: |
# installed by cloud-init
[Unit]
Description=Download and install cri-containerd binaries and configurations.
Description=Download and install containerd binaries and configurations.
After=network-online.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStartPre=/bin/mkdir -p /home/cri-containerd
ExecStartPre=/bin/mount --bind /home/cri-containerd /home/cri-containerd
ExecStartPre=/bin/mount -o remount,exec /home/cri-containerd
ExecStartPre=/usr/bin/curl --fail --retry 5 --retry-delay 3 --silent --show-error -H "X-Google-Metadata-Request: True" -o /home/cri-containerd/configure.sh http://metadata.google.internal/computeMetadata/v1/instance/attributes/cri-containerd-configure-sh
ExecStartPre=/bin/chmod 544 /home/cri-containerd/configure.sh
ExecStart=/home/cri-containerd/configure.sh
ExecStartPre=/bin/mkdir -p /home/containerd
ExecStartPre=/bin/mount --bind /home/containerd /home/containerd
ExecStartPre=/bin/mount -o remount,exec /home/containerd
ExecStartPre=/usr/bin/curl --fail --retry 5 --retry-delay 3 --silent --show-error -H "X-Google-Metadata-Request: True" -o /home/containerd/configure.sh http://metadata.google.internal/computeMetadata/v1/instance/attributes/containerd-configure-sh
ExecStartPre=/bin/chmod 544 /home/containerd/configure.sh
ExecStart=/home/containerd/configure.sh
[Install]
WantedBy=cri-containerd.target
WantedBy=containerd.target
# containerd on master uses the cni binary and config in the
# release tarball.
- path: /etc/containerd/config.toml
permissions: 0644
owner: root
Expand All @@ -35,8 +37,14 @@ write_files:
path = "/runtime"
[plugins.linux]
shim = "/home/cri-containerd/usr/local/bin/containerd-shim"
runtime = "/home/cri-containerd/usr/local/sbin/runc"
shim = "/home/containerd/usr/local/bin/containerd-shim"
runtime = "/home/containerd/usr/local/sbin/runc"
[plugins.cri.cni]
bin_dir = "/home/containerd/opt/cni/bin"
conf_dir = "/home/containerd/etc/cni/net.d"
[plugins.cri.registry.mirrors."docker.io"]
endpoint = ["https://mirror.gcr.io","https://registry-1.docker.io"]
- path: /etc/systemd/system/containerd.service
permissions: 0644
Expand All @@ -46,7 +54,7 @@ write_files:
[Unit]
Description=containerd container runtime
Documentation=https://containerd.io
After=cri-containerd-installation.service
After=containerd-installation.service
[Service]
Restart=always
Expand All @@ -59,67 +67,36 @@ write_files:
LimitNPROC=infinity
LimitCORE=infinity
ExecStartPre=/sbin/modprobe overlay
ExecStart=/home/cri-containerd/usr/local/bin/containerd --log-level debug
[Install]
WantedBy=cri-containerd.target
- path: /etc/systemd/system/cri-containerd.service
permissions: 0644
owner: root
content: |
# installed by cloud-init
[Unit]
Description=Kubernetes containerd CRI shim
Requires=network-online.target
After=cri-containerd-installation.service
[Service]
Restart=always
RestartSec=5
LimitNOFILE=1048576
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNPROC=infinity
LimitCORE=infinity
# cri-containerd on master uses the cni binary and config in the
# release tarball.
ExecStart=/home/cri-containerd/usr/local/bin/cri-containerd \
--log-level=debug \
--network-bin-dir=/home/cri-containerd/opt/cni/bin \
--network-conf-dir=/home/cri-containerd/etc/cni/net.d \
--cgroup-path=/runtime \
--registry=docker.io=https://mirror.gcr.io,https://registry-1.docker.io
ExecStart=/home/containerd/usr/local/bin/containerd --log-level debug
[Install]
WantedBy=cri-containerd.target
WantedBy=containerd.target
- path: /etc/systemd/system/cri-containerd-monitor.service
- path: /etc/systemd/system/containerd-monitor.service
permissions: 0644
owner: root
content: |
[Unit]
Description=Kubernetes health monitoring for cri-containerd and containerd
After=containerd.service cri-containerd.service
Description=Kubernetes health monitoring for containerd
After=containerd.service
[Service]
Restart=always
RestartSec=10
RemainAfterExit=yes
ExecStartPre=/bin/chmod 544 /home/cri-containerd/opt/cri-containerd/cluster/health-monitor.sh
ExecStart=/bin/bash -c 'CRICTL=/home/cri-containerd/usr/local/bin/crictl \
/home/cri-containerd/opt/cri-containerd/cluster/health-monitor.sh'
ExecStartPre=/bin/chmod 544 /home/containerd/opt/containerd/cluster/health-monitor.sh
ExecStart=/bin/bash -c 'CRICTL=/home/containerd/usr/local/bin/crictl \
/home/containerd/opt/containerd/cluster/health-monitor.sh'
[Install]
WantedBy=cri-containerd.target
WantedBy=containerd.target
# TODO(random-liu): Guarantee order.
- path: /etc/systemd/system/cri-containerd.target
- path: /etc/systemd/system/containerd.target
permissions: 0644
owner: root
content: |
[Unit]
Description=CRI Containerd
Description=Containerd
[Install]
WantedBy=kubernetes.target
Expand Down Expand Up @@ -221,11 +198,10 @@ write_files:
runcmd:
- systemctl daemon-reload
- systemctl enable containerd-installation.service
- systemctl enable containerd.service
- systemctl enable cri-containerd-installation.service
- systemctl enable cri-containerd.service
- systemctl enable cri-containerd-monitor.service
- systemctl enable cri-containerd.target
- systemctl enable containerd-monitor.service
- systemctl enable containerd.target
- systemctl enable kube-master-installation.service
- systemctl enable kube-master-configuration.service
- systemctl enable kubelet-monitor.service
Expand Down

0 comments on commit d3b112a

Please sign in to comment.