Compare commits
2 Commits
stable/202
...
2023.1-eom
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
70f7bba359 | ||
| 7dc0bbad8b |
@@ -2,3 +2,4 @@
|
||||
host=review.opendev.org
|
||||
port=29418
|
||||
project=openstack/devstack-plugin-container.git
|
||||
defaultbranch=stable/2023.1
|
||||
|
||||
@@ -9,13 +9,15 @@
|
||||
- openstack/devstack
|
||||
- openstack/devstack-plugin-container
|
||||
vars:
|
||||
devstack_localrc:
|
||||
USE_PYTHON3: true
|
||||
devstack_plugins:
|
||||
devstack-plugin-container: https://opendev.org/openstack/devstack-plugin-container
|
||||
|
||||
- job:
|
||||
name: devstack-plugin-container-k8s
|
||||
parent: devstack-minimal
|
||||
nodeset: openstack-two-node-noble
|
||||
nodeset: openstack-two-node-focal
|
||||
pre-run: playbooks/devstack-plugin-container-k8s/pre.yaml
|
||||
run: playbooks/devstack-plugin-container-k8s/run.yaml
|
||||
post-run: playbooks/devstack-plugin-container-k8s/post.yaml
|
||||
@@ -32,6 +34,7 @@
|
||||
k8s-master: true
|
||||
devstack_localrc:
|
||||
K8S_TOKEN: "9agf12.zsu5uh2m4pzt3qba"
|
||||
USE_PYTHON3: true
|
||||
devstack_plugins:
|
||||
devstack-plugin-container: https://opendev.org/openstack/devstack-plugin-container
|
||||
group-vars:
|
||||
@@ -43,6 +46,7 @@
|
||||
k8s-node: true
|
||||
devstack_localrc:
|
||||
K8S_TOKEN: "9agf12.zsu5uh2m4pzt3qba"
|
||||
USE_PYTHON3: true
|
||||
|
||||
- project:
|
||||
check:
|
||||
|
||||
@@ -27,7 +27,7 @@ CRIO_ALLOW_ICMP=$(trueorfalse True CRIO_ALLOW_ICMP)
|
||||
|
||||
function check_crio {
|
||||
if is_ubuntu; then
|
||||
dpkg -l | grep cri-o > /dev/null 2>&1
|
||||
dpkg -l | grep crio-o > /dev/null 2>&1
|
||||
else
|
||||
false
|
||||
# TODO: CentOS/Fedora support.
|
||||
@@ -40,22 +40,23 @@ function install_crio {
|
||||
fi
|
||||
|
||||
local lsb_dist=${os_VENDOR,,}
|
||||
local dist_version=${os_CODENAME}
|
||||
local kubic_obs_project_key="2472d6d0d2f66af87aba8da34d64390375060aa4"
|
||||
local os="x${os_VENDOR}_${os_RELEASE}"
|
||||
if is_ubuntu; then
|
||||
local stream="https://pkgs.k8s.io/addons:/cri-o:/stable:/v${CRIO_VERSION%.*}"
|
||||
local key_path="/etc/apt/keyrings/cri-o-apt-keyring.gpg"
|
||||
|
||||
apt_get install apt-transport-https ca-certificates \
|
||||
software-properties-common curl
|
||||
curl -fsSL "${stream}/deb/Release.key" | sudo gpg --dearmor -o "${key_path}"
|
||||
echo "deb [signed-by=${key_path}] ${stream}/deb/ /" | \
|
||||
sudo tee /etc/apt/sources.list.d/cri-o.list
|
||||
software-properties-common
|
||||
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 \
|
||||
--recv ${kubic_obs_project_key}
|
||||
sudo apt-add-repository -y "deb https://download.opensuse.org/"`
|
||||
`"repositories/devel:/kubic:/libcontainers:/stable/${os}/ /"
|
||||
sudo apt-add-repository -y "deb http://download.opensuse.org/"`
|
||||
`"repositories/devel:/kubic:/libcontainers:/stable:/cri-o:/"`
|
||||
`"${CRIO_VERSION}/${os}/ /"
|
||||
|
||||
# Installing podman and containerd will get us compatible versions of
|
||||
# cri-o. And we need podman to manage container images anyway.
|
||||
REPOS_UPDATED=False apt_get_update
|
||||
crio_pkg_version=$(sudo apt-cache show cri-o | grep "Version: $CRIO_VERSION-" | awk '{ print $2 }' | head -n 1)
|
||||
apt_get install podman buildah cri-o="${crio_pkg_version}"
|
||||
sudo systemctl enable crio
|
||||
# cri-o and runc. And we need podman to manage container images anyway.
|
||||
apt_get install podman buildah cri-o-runc cri-o
|
||||
elif is_fedora; then
|
||||
if [[ "$lsb_dist" = "centos" ]]; then
|
||||
sudo yum-config-manager \
|
||||
@@ -65,18 +66,6 @@ function install_crio {
|
||||
--add-repo \
|
||||
https://cbs.centos.org/repos/paas7-crio-311-candidate/x86_64/os/
|
||||
fi
|
||||
if [[ "${os_VENDOR}" == *'Stream' ]]; then
|
||||
local stream="_Stream"
|
||||
fi
|
||||
# NOTE: All crio versions are not supported for Centos 8 stream
|
||||
# because crio rpm is not present for some minor versions
|
||||
sudo yum-config-manager \
|
||||
--add-repo \
|
||||
"https://download.opensuse.org/repositories/"`
|
||||
`"devel:/kubic:/libcontainers:/stable:/cri-o:/${CRIO_VERSION}/"`
|
||||
`"CentOS_${os_RELEASE}${stream}/"`
|
||||
`"devel:kubic:libcontainers:stable:cri-o:${CRIO_VERSION}.repo"
|
||||
|
||||
yum_install cri-o podman buildah
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ K8S_NODE_IP=${K8S_NODE_IP:-$HOST_IP}
|
||||
K8S_API_SERVER_PORT=${K8S_API_SERVER_PORT:-6443}
|
||||
K8S_POD_NETWORK_CIDR=${K8S_POD_NETWORK_CIDR:-10.244.0.0/16}
|
||||
K8S_SERVICE_NETWORK_CIDR=${K8S_SERVICE_NETWORK_CIDR:-10.96.0.0/12}
|
||||
K8S_VERSION=${K8S_VERSION:-"1.30.5"}
|
||||
K8S_VERSION=${K8S_VERSION:-1.23.16-00}
|
||||
K8S_NETWORK_ADDON=${K8S_NETWORK_ADDON:-flannel}
|
||||
|
||||
# Functions
|
||||
@@ -40,17 +40,12 @@ function is_k8s_enabled {
|
||||
|
||||
function install_kubeadm {
|
||||
if is_ubuntu; then
|
||||
local stream="https://pkgs.k8s.io/core:/stable:/v${K8S_VERSION%.*}"
|
||||
local key_path="/etc/apt/keyrings/kubernetes-apt-keyring.gpg"
|
||||
|
||||
apt_get install apt-transport-https ca-certificates curl gpg
|
||||
curl -fsSL "${stream}/deb/Release.key" | sudo gpg --dearmor -o "${key_path}"
|
||||
echo "deb [signed-by=${key_path}] ${stream}/deb/ /" | \
|
||||
sudo tee /etc/apt/sources.list.d/kubernetes.list
|
||||
|
||||
apt_get install apt-transport-https curl
|
||||
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
|
||||
sudo add-apt-repository -y \
|
||||
"deb https://apt.kubernetes.io/ kubernetes-xenial main"
|
||||
REPOS_UPDATED=False apt_get_update
|
||||
kube_pkg_version=$(sudo apt-cache show kubeadm | grep "Version: $K8S_VERSION-" | awk '{ print $2 }' | head -n 1)
|
||||
apt_get install kubelet="${kube_pkg_version}" kubeadm="${kube_pkg_version}" kubectl="${kube_pkg_version}"
|
||||
apt_get install kubelet=$K8S_VERSION kubeadm=$K8S_VERSION kubectl=$K8S_VERSION
|
||||
sudo apt-mark hold kubelet kubeadm kubectl
|
||||
# NOTE(hongbin): This work-around an issue that kubelet pick a wrong
|
||||
# IP address if the node has multiple network interfaces.
|
||||
@@ -76,7 +71,7 @@ function kubeadm_init {
|
||||
fi
|
||||
|
||||
cat <<EOF | tee $kubeadm_config_file >/dev/null
|
||||
apiVersion: kubeadm.k8s.io/v1beta3
|
||||
apiVersion: kubeadm.k8s.io/v1beta2
|
||||
kind: ClusterConfiguration
|
||||
imageRepository: "${KUBEADMIN_IMAGE_REPOSITORY}"
|
||||
etcd:
|
||||
@@ -87,7 +82,7 @@ networking:
|
||||
podSubnet: "${K8S_POD_NETWORK_CIDR}"
|
||||
serviceSubnet: "${K8S_SERVICE_NETWORK_CIDR}"
|
||||
---
|
||||
apiVersion: kubeadm.k8s.io/v1beta3
|
||||
apiVersion: kubeadm.k8s.io/v1beta2
|
||||
bootstrapTokens:
|
||||
- token: "${K8S_TOKEN}"
|
||||
ttl: 0s
|
||||
@@ -136,7 +131,7 @@ function kubeadm_join {
|
||||
fi
|
||||
|
||||
cat <<EOF | tee $kubeadm_config_file >/dev/null
|
||||
apiVersion: kubeadm.k8s.io/v1beta3
|
||||
apiVersion: kubeadm.k8s.io/v1beta2
|
||||
kind: JoinConfiguration
|
||||
discovery:
|
||||
bootstrapToken:
|
||||
|
||||
@@ -9,7 +9,7 @@ ENABLE_LIVE_RESTORE=${ENABLE_LIVE_RESTORE:-false}
|
||||
ENABLE_IPV6=${ENABLE_IPV6:-false}
|
||||
K8S_NETWORK_ADDON=${K8S_NETWORK_ADDON:-flannel}
|
||||
ENABLE_CONTAINERD_CRI=${ENABLE_CONTAINERD_CRI:-false}
|
||||
CRIO_VERSION=${CRIO_VERSION:-"1.30.5"}
|
||||
CRIO_VERSION=${CRIO_VERSION:-"1.23:/1.23.0"}
|
||||
CRIO_ALLOW_ICMP=${CRIO_ALLOW_ICMP:-true}
|
||||
CNI_CONF_DIR=${CNI_CONF_DIR:-}
|
||||
CNI_PLUGIN_DIR=${CNI_PLUGIN_DIR:-}
|
||||
|
||||
Reference in New Issue
Block a user