mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-25 07:31:01 +02:00
overlay coreos-base/flatcar-eks: remove oem spec
Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
This commit is contained in:
parent
8ba940b931
commit
735dfb4001
@ -1,6 +1,6 @@
|
|||||||
--- orig/bootstrap.sh 2021-02-02 14:04:27.121358890 +0100
|
--- orig/bootstrap.sh
|
||||||
+++ flatcar/bootstrap.sh 2021-02-02 14:07:15.175175277 +0100
|
+++ flatcar/bootstrap.sh
|
||||||
@@ -268,6 +268,9 @@
|
@@ -268,6 +268,9 @@ if [ -z "$CLUSTER_NAME" ]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -10,77 +10,75 @@
|
|||||||
|
|
||||||
TOKEN=$(get_token)
|
TOKEN=$(get_token)
|
||||||
AWS_DEFAULT_REGION=$(get_meta_data 'latest/dynamic/instance-identity/document' | jq .region -r)
|
AWS_DEFAULT_REGION=$(get_meta_data 'latest/dynamic/instance-identity/document' | jq .region -r)
|
||||||
@@ -284,7 +287,8 @@
|
@@ -285,6 +288,8 @@ PAUSE_CONTAINER="$PAUSE_CONTAINER_IMAGE:$PAUSE_CONTAINER_VERSION"
|
||||||
PAUSE_CONTAINER="$PAUSE_CONTAINER_IMAGE:$PAUSE_CONTAINER_VERSION"
|
|
||||||
|
|
||||||
### kubelet kubeconfig
|
### kubelet kubeconfig
|
||||||
-
|
|
||||||
+shopt -s expand_aliases
|
+shopt -s expand_aliases
|
||||||
+alias aws="docker run --rm --network host amazon/aws-cli"
|
+alias aws="docker run --rm --network host amazon/aws-cli"
|
||||||
CA_CERTIFICATE_DIRECTORY=/etc/kubernetes/pki
|
CA_CERTIFICATE_DIRECTORY=/etc/kubernetes/pki
|
||||||
CA_CERTIFICATE_FILE_PATH=$CA_CERTIFICATE_DIRECTORY/ca.crt
|
CA_CERTIFICATE_FILE_PATH=$CA_CERTIFICATE_DIRECTORY/ca.crt
|
||||||
mkdir -p $CA_CERTIFICATE_DIRECTORY
|
mkdir -p $CA_CERTIFICATE_DIRECTORY
|
||||||
@@ -324,9 +328,9 @@
|
@@ -324,9 +329,9 @@ fi
|
||||||
|
|
||||||
echo $B64_CLUSTER_CA | base64 -d > $CA_CERTIFICATE_FILE_PATH
|
echo $B64_CLUSTER_CA | base64 -d > $CA_CERTIFICATE_FILE_PATH
|
||||||
|
|
||||||
-sed -i s,CLUSTER_NAME,$CLUSTER_NAME,g /var/lib/kubelet/kubeconfig
|
-sed -i s,CLUSTER_NAME,$CLUSTER_NAME,g /var/lib/kubelet/kubeconfig
|
||||||
-sed -i s,MASTER_ENDPOINT,$APISERVER_ENDPOINT,g /var/lib/kubelet/kubeconfig
|
-sed -i s,MASTER_ENDPOINT,$APISERVER_ENDPOINT,g /var/lib/kubelet/kubeconfig
|
||||||
-sed -i s,AWS_REGION,$AWS_DEFAULT_REGION,g /var/lib/kubelet/kubeconfig
|
-sed -i s,AWS_REGION,$AWS_DEFAULT_REGION,g /var/lib/kubelet/kubeconfig
|
||||||
+sed -i s,CLUSTER_NAME,$CLUSTER_NAME,g /oem/eks/kubelet-kubeconfig
|
+sed -i s,CLUSTER_NAME,$CLUSTER_NAME,g /usr/share/amazon/eks/kubelet-kubeconfig
|
||||||
+sed -i s,MASTER_ENDPOINT,$APISERVER_ENDPOINT,g /oem/eks/kubelet-kubeconfig
|
+sed -i s,MASTER_ENDPOINT,$APISERVER_ENDPOINT,g /usr/share/amazon/eks/kubelet-kubeconfig
|
||||||
+sed -i s,AWS_REGION,$AWS_DEFAULT_REGION,g /oem/eks/kubelet-kubeconfig
|
+sed -i s,AWS_REGION,$AWS_DEFAULT_REGION,g /usr/share/amazon/eks/kubelet-kubeconfig
|
||||||
### kubelet.service configuration
|
### kubelet.service configuration
|
||||||
|
|
||||||
if [[ -z "${DNS_CLUSTER_IP}" ]]; then
|
if [[ -z "${DNS_CLUSTER_IP}" ]]; then
|
||||||
@@ -345,7 +349,7 @@
|
@@ -345,7 +350,7 @@ else
|
||||||
DNS_CLUSTER_IP="${DNS_CLUSTER_IP}"
|
DNS_CLUSTER_IP="${DNS_CLUSTER_IP}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
-KUBELET_CONFIG=/etc/kubernetes/kubelet/kubelet-config.json
|
-KUBELET_CONFIG=/etc/kubernetes/kubelet/kubelet-config.json
|
||||||
+KUBELET_CONFIG=/oem/eks/kubelet-config.json
|
+KUBELET_CONFIG=/usr/share/amazon/eks/kubelet-config.json
|
||||||
echo "$(jq ".clusterDNS=[\"$DNS_CLUSTER_IP\"]" $KUBELET_CONFIG)" > $KUBELET_CONFIG
|
echo "$(jq ".clusterDNS=[\"$DNS_CLUSTER_IP\"]" $KUBELET_CONFIG)" > $KUBELET_CONFIG
|
||||||
|
|
||||||
INTERNAL_IP=$(get_meta_data 'latest/meta-data/local-ipv4')
|
INTERNAL_IP=$(get_meta_data 'latest/meta-data/local-ipv4')
|
||||||
@@ -357,7 +361,7 @@
|
@@ -357,7 +362,7 @@ INSTANCE_TYPE=$(get_meta_data 'latest/meta-data/instance-type')
|
||||||
# with this formula when scheduling pods: Allocatable = Capacity - Reserved - Eviction Threshold.
|
# with this formula when scheduling pods: Allocatable = Capacity - Reserved - Eviction Threshold.
|
||||||
|
|
||||||
#calculate the max number of pods per instance type
|
#calculate the max number of pods per instance type
|
||||||
-MAX_PODS_FILE="/etc/eks/eni-max-pods.txt"
|
-MAX_PODS_FILE="/etc/eks/eni-max-pods.txt"
|
||||||
+MAX_PODS_FILE="/oem/eks/eni-max-pods.txt"
|
+MAX_PODS_FILE="/usr/share/amazon/eks/eni-max-pods.txt"
|
||||||
set +o pipefail
|
set +o pipefail
|
||||||
MAX_PODS=$(cat $MAX_PODS_FILE | awk "/^${INSTANCE_TYPE:-unset}/"' { print $2 }')
|
MAX_PODS=$(cat $MAX_PODS_FILE | awk "/^${INSTANCE_TYPE:-unset}/"' { print $2 }')
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
@@ -382,6 +386,8 @@
|
@@ -382,6 +387,8 @@ if [[ "$USE_MAX_PODS" = "true" ]]; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
+cp /oem/eks/kubelet.service /etc/systemd/system/
|
+cp /usr/share/amazon/eks/kubelet.service /etc/systemd/system/
|
||||||
+
|
+
|
||||||
mkdir -p /etc/systemd/system/kubelet.service.d
|
mkdir -p /etc/systemd/system/kubelet.service.d
|
||||||
|
|
||||||
cat <<EOF > /etc/systemd/system/kubelet.service.d/10-kubelet-args.conf
|
cat <<EOF > /etc/systemd/system/kubelet.service.d/10-kubelet-args.conf
|
||||||
@@ -396,10 +402,16 @@
|
@@ -397,9 +404,14 @@ EOF
|
||||||
EOF
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
+
|
|
||||||
# Replace with custom docker config contents.
|
# Replace with custom docker config contents.
|
||||||
+mkdir -p /etc/docker
|
+mkdir -p /etc/docker
|
||||||
if [[ -n "$DOCKER_CONFIG_JSON" ]]; then
|
if [[ -n "$DOCKER_CONFIG_JSON" ]]; then
|
||||||
echo "$DOCKER_CONFIG_JSON" > /etc/docker/daemon.json
|
echo "$DOCKER_CONFIG_JSON" > /etc/docker/daemon.json
|
||||||
systemctl restart docker
|
systemctl restart docker
|
||||||
+else
|
+else
|
||||||
+ # Copy the docker config shipped in /oem
|
+ # Copy the docker config shipped in /usr/share/amazon/eks
|
||||||
+ cp /oem/eks/docker-daemon.json /etc/docker/daemon.json
|
+ cp /usr/share/amazon/eks/docker-daemon.json /etc/docker/daemon.json
|
||||||
+ systemctl restart docker
|
+ systemctl restart docker
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$ENABLE_DOCKER_BRIDGE" = "true" ]]; then
|
if [[ "$ENABLE_DOCKER_BRIDGE" = "true" ]]; then
|
||||||
@@ -409,7 +421,19 @@
|
@@ -408,8 +420,20 @@ if [[ "$ENABLE_DOCKER_BRIDGE" = "true" ]]; then
|
||||||
|
echo "$(jq '.bridge="docker0" | ."live-restore"=false' /etc/docker/daemon.json)" > /etc/docker/daemon.json
|
||||||
systemctl restart docker
|
systemctl restart docker
|
||||||
fi
|
fi
|
||||||
|
+
|
||||||
+# sysctl tweaking
|
+# sysctl tweaking
|
||||||
+cat <<EOF | sudo tee -a /etc/sysctl.d/99-kubelet.conf
|
+cat <<EOF | sudo tee -a /etc/sysctl.d/99-kubelet.conf
|
||||||
+# Needed for protectKernelDefaults=true
|
+# Needed for protectKernelDefaults=true
|
||||||
@ -91,7 +89,7 @@
|
|||||||
+fs.inotify.max_user_watches=524288
|
+fs.inotify.max_user_watches=524288
|
||||||
+vm.max_map_count=524288
|
+vm.max_map_count=524288
|
||||||
+EOF
|
+EOF
|
||||||
+
|
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
+systemctl restart systemd-sysctl
|
+systemctl restart systemd-sysctl
|
||||||
systemctl enable kubelet
|
systemctl enable kubelet
|
||||||
|
@ -7,12 +7,12 @@ After=docker.service iptables-restore.service
|
|||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
EnvironmentFile=/run/metadata/flatcar
|
EnvironmentFile=/run/metadata/flatcar
|
||||||
ExecStartPre=/oem/eks/download-kubelet.sh
|
ExecStartPre=/usr/share/amazon/eks/download-kubelet.sh
|
||||||
ExecStartPre=/sbin/iptables -P FORWARD ACCEPT -w 5
|
ExecStartPre=/sbin/iptables -P FORWARD ACCEPT -w 5
|
||||||
ExecStart=/opt/eks/kubelet \
|
ExecStart=/usr/share/amazon/eks/kubelet \
|
||||||
--cloud-provider aws \
|
--cloud-provider aws \
|
||||||
--config /oem/eks/kubelet-config.json \
|
--config /usr/share/amazon/eks/kubelet-config.json \
|
||||||
--kubeconfig /oem/eks/kubelet-kubeconfig \
|
--kubeconfig /usr/share/amazon/eks/kubelet-kubeconfig \
|
||||||
--container-runtime docker \
|
--container-runtime docker \
|
||||||
--network-plugin cni \
|
--network-plugin cni \
|
||||||
--cni-bin-dir=/opt/cni/bin \
|
--cni-bin-dir=/opt/cni/bin \
|
||||||
|
@ -31,7 +31,7 @@ src_prepare() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
src_install() {
|
src_install() {
|
||||||
insinto /oem/eks
|
insinto /usr/share/amazon/eks
|
||||||
doins "${WORKDIR}/bootstrap.sh"
|
doins "${WORKDIR}/bootstrap.sh"
|
||||||
|
|
||||||
# These files are based on the ones found on the amazon-eks-ami repository,
|
# These files are based on the ones found on the amazon-eks-ami repository,
|
||||||
@ -53,5 +53,5 @@ src_install() {
|
|||||||
# necessary files to run the kubelet on the node.
|
# necessary files to run the kubelet on the node.
|
||||||
doins "${FILESDIR}/download-kubelet.sh"
|
doins "${FILESDIR}/download-kubelet.sh"
|
||||||
|
|
||||||
chmod +x "${D}/oem/eks/bootstrap.sh" "${D}/oem/eks/download-kubelet.sh"
|
chmod +x "${D}/usr/share/amazon/eks/bootstrap.sh" "${D}/usr/share/amazon/eks/download-kubelet.sh"
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user