mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	Merge pull request #6756 from lhuard1A/libvirt-coreos_etcd2
libvirt-coreos cluster: Fix etcd versions incompatibility issue
This commit is contained in:
		
							
								
								
									
										1
									
								
								cluster/libvirt-coreos/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								cluster/libvirt-coreos/.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -1,2 +1,3 @@
 | 
			
		||||
/libvirt_storage_pool/
 | 
			
		||||
/coreos_production_qemu_image.img.bz2
 | 
			
		||||
/etcd-v2.0.9-linux-amd64.tar.gz
 | 
			
		||||
 
 | 
			
		||||
@@ -35,6 +35,11 @@
 | 
			
		||||
      <target dir='kubernetes'/>
 | 
			
		||||
      <readonly/>
 | 
			
		||||
    </filesystem>
 | 
			
		||||
    <filesystem type='mount' accessmode='squash'>
 | 
			
		||||
      <source dir='${etcd_dir}'/>
 | 
			
		||||
      <target dir='etcd'/>
 | 
			
		||||
      <readonly/>
 | 
			
		||||
    </filesystem>
 | 
			
		||||
    <interface type='network'>
 | 
			
		||||
       <mac address='52:54:00:00:00:${i}'/>
 | 
			
		||||
       <source network='kubernetes_global'/>
 | 
			
		||||
 
 | 
			
		||||
@@ -17,11 +17,22 @@ coreos:
 | 
			
		||||
  etcd:
 | 
			
		||||
    name: ${name}
 | 
			
		||||
    addr: ${public_ip}:4001
 | 
			
		||||
    bind-addr: 0.0.0.0
 | 
			
		||||
    # bind-addr: 0.0.0.0
 | 
			
		||||
    peer-addr: ${public_ip}:7001
 | 
			
		||||
    # peers: {etcd_peers}
 | 
			
		||||
    discovery: ${discovery}
 | 
			
		||||
  units:
 | 
			
		||||
    - name: etcd.service
 | 
			
		||||
      drop-ins:
 | 
			
		||||
        - name: opt-etcd2.conf
 | 
			
		||||
          content: |
 | 
			
		||||
            [Unit]
 | 
			
		||||
            After=opt-etcd.mount
 | 
			
		||||
            Requires=opt-etcd.mount
 | 
			
		||||
 | 
			
		||||
            [Service]
 | 
			
		||||
            ExecStart=
 | 
			
		||||
            ExecStart=/opt/etcd/bin/etcd
 | 
			
		||||
    - name: static.network
 | 
			
		||||
      command: start
 | 
			
		||||
      content: |
 | 
			
		||||
@@ -103,6 +114,17 @@ coreos:
 | 
			
		||||
        Where=/opt/kubernetes
 | 
			
		||||
        Options=ro,trans=virtio,version=9p2000.L
 | 
			
		||||
        Type=9p
 | 
			
		||||
    - name: opt-etcd.mount
 | 
			
		||||
      command: start
 | 
			
		||||
      content: |
 | 
			
		||||
        [Unit]
 | 
			
		||||
        ConditionVirtualization=|vm
 | 
			
		||||
 | 
			
		||||
        [Mount]
 | 
			
		||||
        What=etcd
 | 
			
		||||
        Where=/opt/etcd
 | 
			
		||||
        Options=ro,trans=virtio,version=9p2000.L
 | 
			
		||||
        Type=9p
 | 
			
		||||
  update:
 | 
			
		||||
    group: ${COREOS_CHANNEL:-alpha}
 | 
			
		||||
    reboot-strategy: off
 | 
			
		||||
 
 | 
			
		||||
@@ -25,6 +25,8 @@ export LIBVIRT_DEFAULT_URI=qemu:///system
 | 
			
		||||
readonly POOL=kubernetes
 | 
			
		||||
readonly POOL_PATH="$(cd $ROOT && pwd)/libvirt_storage_pool"
 | 
			
		||||
 | 
			
		||||
ETCD_VERSION=${ETCD_VERSION:-v2.0.9}
 | 
			
		||||
 | 
			
		||||
# join <delim> <list...>
 | 
			
		||||
# Concatenates the list elements with the delimiter passed as first parameter
 | 
			
		||||
#
 | 
			
		||||
@@ -93,6 +95,9 @@ function destroy-pool {
 | 
			
		||||
        virsh vol-delete $vol --pool $POOL
 | 
			
		||||
      done
 | 
			
		||||
 | 
			
		||||
  rm -rf "$POOL_PATH"/etcd/*
 | 
			
		||||
  virsh vol-delete etcd --pool $POOL || true
 | 
			
		||||
 | 
			
		||||
  [[ "$1" == 'keep_base_image' ]] && return
 | 
			
		||||
 | 
			
		||||
  set +e
 | 
			
		||||
@@ -140,6 +145,18 @@ function initialize-pool {
 | 
			
		||||
      render-template "$ROOT/skydns-rc.yaml"  > "$POOL_PATH/kubernetes/addons/skydns-rc.yaml"
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  mkdir -p "$POOL_PATH/etcd"
 | 
			
		||||
  if [[ ! -f "$ROOT/etcd-${ETCD_VERSION}-linux-amd64.tar.gz" ]]; then
 | 
			
		||||
      wget -P "$ROOT" https://github.com/coreos/etcd/releases/download/${ETCD_VERSION}/etcd-${ETCD_VERSION}-linux-amd64.tar.gz
 | 
			
		||||
  fi
 | 
			
		||||
  if [[ "$ROOT/etcd-${ETCD_VERSION}-linux-amd64.tar.gz" -nt "$POOL_PATH/etcd/etcd" ]]; then
 | 
			
		||||
      tar -x -C "$POOL_PATH/etcd" -f "$ROOT/etcd-${ETCD_VERSION}-linux-amd64.tar.gz" etcd-${ETCD_VERSION}-linux-amd64
 | 
			
		||||
      rm -rf "$POOL_PATH/etcd/bin/*"
 | 
			
		||||
      mkdir -p "$POOL_PATH/etcd/bin"
 | 
			
		||||
      mv "$POOL_PATH"/etcd/etcd-${ETCD_VERSION}-linux-amd64/{etcd,etcdctl} "$POOL_PATH/etcd/bin"
 | 
			
		||||
      rm -rf "$POOL_PATH/etcd/etcd-${ETCD_VERSION}-linux-amd64"
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  virsh pool-refresh $POOL
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -187,6 +204,7 @@ function kube-up {
 | 
			
		||||
 | 
			
		||||
  readonly ssh_keys="$(cat ~/.ssh/id_*.pub | sed 's/^/  - /')"
 | 
			
		||||
  readonly kubernetes_dir="$POOL_PATH/kubernetes"
 | 
			
		||||
  readonly etcd_dir="$POOL_PATH/etcd"
 | 
			
		||||
  readonly discovery=$(curl -s https://discovery.etcd.io/new)
 | 
			
		||||
 | 
			
		||||
  readonly machines=$(join , "${KUBE_MINION_IP_ADDRESSES[@]}")
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user