kubeadm安裝kubernetes v1.19.0
20200929更新
說明:
集群環(huán)境:
Vmware 15
操作系統(tǒng):CentOS 7
集群信息:
k8s-master 172.16.22.30 2核2G
k8s-node1 172.16.22.31 2核2G
k8s-node2 172.16.22.32 2核2G
一伪货、配置系統(tǒng)
master 和node 上執(zhí)行
1.1 關(guān)閉防火墻 (所有節(jié)點(diǎn)執(zhí)行)
systemctl stop firewalld && systemctl disable firewalld
1.2 關(guān)閉selinux (所有節(jié)點(diǎn)執(zhí)行)
vi /etc/selinux/config
把selinux = enforceing 改為 selinux = disable
1.3 配置/etc/hosts/ 和hostname (所有節(jié)點(diǎn)執(zhí)行)
修改hostname
vi /etc/hostname #master上執(zhí)行就寫master node上執(zhí)行就寫node
master
修改hosts
vi /etc/hosts #填寫Ip地址和對應(yīng)的hostsname
1.4 關(guān)閉swap 并禁止開機(jī)啟動(dòng) (所有節(jié)點(diǎn)執(zhí)行)
swapoff -a
swapon -s
vi /etc/fstab
#修改/etc/fstab 將swap 注釋掉附迷。
1.5 配置yum 源為阿里云源 (所有節(jié)點(diǎn)執(zhí)行)
執(zhí)行下面命令
vi /etc/yum.repos.d/k8s.repo
將下面內(nèi)容粘貼進(jìn)去
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg\
https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
1.6 安裝docker (所有節(jié)點(diǎn)執(zhí)行)
1.6.1吆豹、卸載已安裝的docker
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
1.6.2、安裝所需的軟件包占遥。
yum-utils 提供了 yum-config-manager 俯抖,并且 device mapper 存儲驅(qū)動(dòng)程序需要 device-mapper-persistent-data 和 lvm2
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1.6.3 安裝 Docker Engine-Community
yum install docker-ce docker-ce-cli containerd.io
1.6.4 配置docker加速器
vi /etc/docekr/daemon.json
添加如下內(nèi)容
{
"registry-mirrors": ["https://frz7i079.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"]
}
"exec-opts": ["native.cgroupdriver=systemd"] 是配置Cgroup 為systemcd
1.6.5 啟動(dòng)docker 并設(shè)置開機(jī)啟動(dòng)
systemctl restart docker && systemctl enable docker
1.7 配置參數(shù) (所有節(jié)點(diǎn)執(zhí)行)
官方地址:https://kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/
1.7.1、設(shè)置相關(guān)屬性
modprobe br_netfilter
1.7.2瓦胎、編輯
vi /etc/sysctl.d/k8s.conf
1.7.3芬萍、加入如下內(nèi)容,然后保存
net.ipv4.ip_forward=1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
1.7.4搔啊、然后執(zhí)行如下命令
sysctl --system
二柬祠、開始安裝
2.1 開始安裝 kubeadm, kubectl 负芋,kubelet (所有節(jié)點(diǎn)執(zhí)行)
yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
2.2 啟動(dòng)kubelet (所有節(jié)點(diǎn)執(zhí)行)
systemctl restart kubelet ; systemctl enable kubelet
2.3 初始化集群(在master上執(zhí)行)
官方文檔地址:https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/
kubeadm init --image-repository registry.aliyuncs.com/k8sxio --kubernetes-version=v1.19.0 --pod-network-cidr=10.244.0.0/16
POD的網(wǎng)段為: 10.244.0.0/16 漫蛔,
倉庫地址用的是國內(nèi)的地址:--image-repository registry.aliyuncs.com/k8sxio
返回信息:
......
......
......
Your Kubernetes control-plane has initialized successfully!
To start using your cluster, you need to run the following as a regular user:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
[https://kubernetes.io/docs/concepts/cluster-administration/addons/](https://kubernetes.io/docs/concepts/cluster-administration/addons/)
Then you can join any number of worker nodes by running the following on each as root:
kubeadm join 172.16.22.31:6443 --token rclr54.vb88o0i8c3a0az1d \
--discovery-token-ca-cert-hash sha256:da6004936b11dce08b430dea3a566df7797583d1752b9c2e2e9843c733846ee5
2.4 根據(jù)提示執(zhí)行(在master上執(zhí)行)
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
2.5 配置node加入集群 (在node1和node2分別執(zhí)行)
kubeadm join 172.16.22.31:6443 --token rclr54.vb88o0i8c3a0az1d \
--discovery-token-ca-cert-hash sha256:da6004936b11dce08b430dea3a566df7797583d1752b9c2e2e9843c733846ee5
2.6 安裝網(wǎng)絡(luò)
1、Flannel
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
2.calico (二選一) (2020-02-22 更新)
calico 安裝方式:
官網(wǎng)地址:
https://docs.projectcalico.org/getting-started/kubernetes/quickstart
1旧蛾、下載文件:https://docs.projectcalico.org/manifests/tigera-operator.yaml
2莽龟、下載文件:https://docs.projectcalico.org/manifests/custom-resources.yaml
3、修改下載的第二個(gè)文件 custom-resources.yaml
的IP為集群初始化時(shí)設(shè)定的IP:
依次執(zhí)行:
kubectl create -f tigera-operator.yaml
kubectl create -f custom-resources.yaml
執(zhí)行 watch kubectl get pods -n calico-system
查看安裝結(jié)果
狀態(tài)全為running