Permalink
Cannot retrieve contributors at this time
Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign up
Fetching contributors…

--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: k8s | |
labels: | |
app: k8s | |
spec: | |
ports: | |
- port: 22 | |
name: ssh | |
clusterIP: None | |
selector: | |
app: inner-k8s | |
--- | |
apiVersion: apps/v1 | |
kind: StatefulSet | |
metadata: | |
name: k8s | |
spec: | |
serviceName: k8s | |
replicas: 3 | |
selector: | |
matchLabels: | |
app: inner-k8s | |
template: | |
metadata: | |
labels: | |
app: inner-k8s | |
annotations: | |
kubernetes.io/target-runtime: virtlet.cloud | |
# set root volume size | |
VirtletRootVolumeSize: 4Gi | |
VirtletVCPUCount: "2" | |
VirtletCloudInitUserData: | | |
write_files: | |
- path: /etc/systemd/system/docker.service.d/env.conf | |
permissions: "0644" | |
owner: root | |
content: | | |
[Service] | |
Environment="DOCKER_OPTS=--storage-driver=overlay" | |
- path: /etc/apt/sources.list.d/kubernetes.list | |
permissions: "0644" | |
owner: root | |
content: | | |
deb http://apt.kubernetes.io/ kubernetes-xenial main | |
- path: /usr/local/bin/provision.sh | |
permissions: "0755" | |
owner: root | |
content: | | |
#!/bin/bash | |
set -u -e | |
set -o pipefail | |
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - | |
apt-get update | |
apt-get install -y docker.io kubelet kubeadm kubectl kubernetes-cni | |
sed -i 's/--cluster-dns=10\.96\.0\.10/--cluster-dns=10.97.0.10/' /etc/systemd/system/kubelet.service.d/10-kubeadm.conf | |
systemctl daemon-reload | |
if [[ $(hostname) =~ -0$ ]]; then | |
# master node | |
kubeadm init --token adcb82.4eae29627dc4c5a6 --pod-network-cidr=10.200.0.0/16 --service-cidr=10.97.0.0/16 --apiserver-cert-extra-sans=127.0.0.1,localhost | |
export KUBECONFIG=/etc/kubernetes/admin.conf | |
export kubever=$(kubectl version | base64 | tr -d '\n') | |
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$kubever" | |
while ! kubectl get pods -n kube-system -l k8s-app=kube-dns|grep ' 1/1'; do | |
sleep 1 | |
done | |
mkdir -p /root/.kube | |
chmod 700 /root/.kube | |
cp "${KUBECONFIG}" /root/.kube/config | |
echo "Master setup complete." >&2 | |
else | |
# worker node | |
kubeadm join --token adcb82.4eae29627dc4c5a6 --discovery-token-unsafe-skip-ca-verification k8s-0.k8s:6443 | |
echo "Node setup complete." >&2 | |
fi | |
users: | |
- name: root | |
# VirtletSSHKeys only affects 'ubuntu' user for this image, but we want root access | |
ssh-authorized-keys: | |
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCaJEcFDXEK2ZbX0ZLS1EIYFZRbDAcRfuVjpstSc0De8+sV1aiu+dePxdkuDRwqFtCyk6dEZkssjOkBXtri00MECLkir6FcH3kKOJtbJ6vy3uaJc9w1ERo+wyl6SkAh/+JTJkp7QRXj8oylW5E20LsbnA/dIwWzAF51PPwF7A7FtNg9DnwPqMkxFo1Th/buOMKbP5ZA1mmNNtmzbMpMfJATvVyiv3ccsSJKOiyQr6UG+j7sc/7jMVz5Xk34Vd0l8GwcB0334MchHckmqDB142h/NCWTr8oLakDNvkfC1YneAfAO41hDkUbxPtVBG5M/o7P4fxoqiHEX+ZLfRxDtHB53 me@localhost | |
runcmd: | |
- /usr/local/bin/provision.sh | |
spec: | |
nodeSelector: | |
extraRuntime: virtlet | |
containers: | |
- name: ubuntu-vm | |
image: virtlet.cloud/cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img | |
imagePullPolicy: IfNotPresent | |
# tty and stdin required for `kubectl attach -t` to work | |
tty: true | |
stdin: true | |
readinessProbe: | |
tcpSocket: | |
port: 22 | |
initialDelaySeconds: 5 |