kubernates cluster 搭建筆記

若是選擇Ubuntu,則建議選擇16.04.6版本。由於國內各大鏡像上都有針對該版本的k8s,且普遍應用。node

安裝環境:3臺Ubuntu 16.04linux

Step 1: Install & Enable Docker on both the nodes

# Install Docker CE
## Set up the repository:
### Install packages to allow apt to use a repository over HTTPS
apt-get update && apt-get install apt-transport-https ca-certificates curl software-properties-common
 
### Add Docker’s official GPG key
 
### Add Docker apt repository.
add-apt-repository \
  $( lsb_release -cs ) \
  stable"
 
## Install Docker CE.
apt-get update && apt-get install docker-ce = 18 .06.2~ce~3-0~ubuntu
 
# Setup daemon.
cat > /etc/docker/daemon.json <<EOF
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF
 
mkdir -p /etc/systemd/system/docker.service.d
 
# Restart docker.
systemctl daemon-reload
systemctl restart docker
systemctl enable docker
docker verision
 

Step 2: Add the Kubernetes signing key on both the nodes

sudo apt install curl
sudo apt-get update && sudo apt-get install -y apt-transport-https
 

Step 3: Add Xenial Kubernetes Repository on both the nodes

sudo apt-add-repository " deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main"

Step 4: Install Kubeadm

apt-get update
apt-get install -y kubelet kubeadm kubectl
apt-mark hold kubelet kubeadm kubectl
kubeadm version

Kubernetes Deployment

Step 1: Disable swap memory (if running) on both the nodes

sudo swapoff -a

Step 2: Give Unique hostnames to each node

sudo hostnamectl set-hostname master-node-vm1
sudo hostnamectl set-hostname slave-node-vm2
sudo hostnamectl set-hostname slave-node-vm3

Step3: deploy required docker images for kubernates to each node

kubeadm config images list | sed -e 's/^/docker pull /g' -e 's#k8s.gcr.io#docker.io/mirrorgooglecontainers#g' | sh -x
docker images | grep mirrorgooglecontainers | awk '{print "docker tag ", $1 ":" $2 , $1 ":" $2 }' | sed -e 's#mirrorgooglecontainers#k8s.gcr.io#2' | sh -x
docker images | grep mirrorgooglecontainers | awk '{print "docker rmi ", $1 ":" $2 }' | sh -x
docker pull coredns/coredns:1.3.1
docker tag coredns/coredns:1.3.1 k8s.gcr.io/coredns:1.3.1
docker rmi coredns/coredns:1.3.1
  mkdir -p $HOME/.kube
 sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
 sudo chown $(id -u):$(id -g) $HOME/.kube/config

Step4: Initialize Kubernetes on the master node

sudo kubeadm init --kubernetes-version=v1.14.3 --pod-network-cidr=10.244.0.0/16
####check all required containers is running:
kubectl get pods --all-namespaces

Step5: Join Kubernetes on the slave node

after initialize the master node you will see below info
copy the last sentence to slave node to join master node:
kubeadm join 192.168.7.86:6443 --token uedhm1.s9yo055ckphqdw16 --discovery-token-ca-cert-hash sha256:d96d1d924df350fe361082afe1c981c8fb6d2361aa6d1811c8d628b93b90e61d

Step6: Check all nodes on master node

kubectl get nodesgit

相關文章
相關標籤/搜索