k8s-1.18.0版本-kubeadmin部署
(提供阿里云镜像)
个人服务器地址:http://101.201.140.7/wp-blog/
系统开启kube-proxy的ipvs前置条件
从k8s的1.8版本开始,kube-proxy引入了IPVS模式,IPVS模式与iptables同样基于Netfilter,但是采用的hash表,因此当service数量达到一定规模时,hash查表的速度优势就会显现出来,从而提高service的服务性能。
开启内核参数(上篇文章环境准备已经配置不再赘述)
安装
yum -y install ipvsadm ipset
永久生效
modprobe br_netfilter
cat > /etc/sysconfig/modules/ipvs.modules <<EOF
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF
chmod 755 /etc/sysconfig/modules/ipvs.modules && bash
/etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e
nf_conntrack_ipv4
配置kubernetes.repo
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
yum安装
yum -y install kubeadm-1.18.0 kubectl-1.18.0 kubelet-1.18.0
开机自启
systemctl enable kubelet.service
初始化节点
kubeadm config print init-defaults > kubeadm-config.yaml
编辑
新增内容如下:
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
featureGates:
SupportIPVSProxyMode: true
mode: ipvs
下载镜像文件
docker pull registry.cn-beijing.aliyuncs.com/yunweijia/etcd:3.4.3-0
docker pull registry.cn-beijing.aliyuncs.com/yunweijia/coredns:1.6.7
docker pull registry.cn-beijing.aliyuncs.com/yunweijia/pause:3.2
docker pull registry.cn-beijing.aliyuncs.com/yunweijia/kube-controller-manager:v1.18.0
docker pull registry.cn-beijing.aliyuncs.com/yunweijia/kube-scheduler:v1.18.0
docker pull registry.cn-beijing.aliyuncs.com/yunweijia/kube-apiserver:v1.18.0
docker pull registry.cn-beijing.aliyuncs.com/yunweijia/kube-proxy:v1.18.0
重新打标签tag
docker tag registry.cn-beijing.aliyuncs.com/yunweijia/kube-proxy:v1.18.0 k8s.gcr.io/kube-proxy:v1.18.0
docker tag registry.cn-beijing.aliyuncs.com/yunweijia/kube-apiserver:v1.18.0 k8s.gcr.io/kube-apiserver:v1.18.0
docker tag registry.cn-beijing.aliyuncs.com/yunweijia/kube-scheduler:v1.18.0 k8s.gcr.io/kube-scheduler:v1.18.0
docker tag registry.cn-beijing.aliyuncs.com/yunweijia/kube-controller-manager:v1.18.0 k8s.gcr.io/kube-controller-manager:v1.18.0
docker tag registry.cn-beijing.aliyuncs.com/yunweijia/pause:3.2 k8s.gcr.io/pause:3.2
docker tag registry.cn-beijing.aliyuncs.com/yunweijia/coredns:1.6.7 k8s.gcr.io/coredns:1.6.7
docker tag registry.cn-beijing.aliyuncs.com/yunweijia/etcd:3.4.3-0 k8s.gcr.io/etcd:3.4.3-0
查看
[root@k8s-master01 ~]# docker images|grep yunweijia|grep -v flannel
registry.cn-beijing.aliyuncs.com/yunweijia/kube-proxy v1.18.0 43940c34f24f 5 weeks ago 117MB
registry.cn-beijing.aliyuncs.com/yunweijia/kube-scheduler v1.18.0 a31f78c7c8ce 5 weeks ago 95.3MB
registry.cn-beijing.aliyuncs.com/yunweijia/kube-apiserver v1.18.0 74060cea7f70 5 weeks ago 173MB
registry.cn-beijing.aliyuncs.com/yunweijia/kube-controller-manager v1.18.0 d3e55153f52f 5 weeks ago 162MB
registry.cn-beijing.aliyuncs.com/yunweijia/pause 3.2 80d28bedfe5d 2 months ago 683kB
registry.cn-beijing.aliyuncs.com/yunweijia/coredns 1.6.7 67da37a9a360 3 months ago 43.8MB
registry.cn-beijing.aliyuncs.com/yunweijia/etcd 3.4.3-0 303ce5db0e90 6 months ago 288MB
[root@k8s-master01 ~]# docker images|grep -v flannel|grep -v yunweijia
REPOSITORY TAG IMAGE ID CREATED SIZE
k8s.gcr.io/kube-proxy v1.18.0 43940c34f24f 5 weeks ago 117MB
k8s.gcr.io/kube-controller-manager v1.18.0 d3e55153f52f 5 weeks ago 162MB
k8s.gcr.io/kube-scheduler v1.18.0 a31f78c7c8ce 5 weeks ago 95.3MB
k8s.gcr.io/kube-apiserver v1.18.0 74060cea7f70 5 weeks ago 173MB
k8s.gcr.io/pause 3.2 80d28bedfe5d 2 months ago 683kB
k8s.gcr.io/coredns 1.6.7 67da37a9a360 3 months ago 43.8MB
k8s.gcr.io/etcd 3.4.3-0 303ce5db0e90 6 months ago 288MB
开始初始化
kubeadm init --config=kubeadm-config.yaml --upload-certs | tee
kubeadm-init.log
按照指示执行
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
查看所有空间的pod状态
kubectl get pod --all-namespaces
下载flannel的yml文件
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
查看yaml需要的镜像
[root@k8s-master01 ~]# cat kube-flannel.yml |grep image|uniq
image: quay.io/coreos/flannel:v0.12.0-amd64
image: quay.io/coreos/flannel:v0.12.0-arm64
image: quay.io/coreos/flannel:v0.12.0-arm
image: quay.io/coreos/flannel:v0.12.0-ppc64le
image: quay.io/coreos/flannel:v0.12.0-s390x
登录阿里云
阿里云镜像服务:https://www.aliyun.com/product/acr
拉取镜像
docker pull registry.cn-beijing.aliyuncs.com/yunweijia/flannel:v0.12.0-s390x
docker pull registry.cn-beijing.aliyuncs.com/yunweijia/flannel:v0.12.0-ppc64le
docker pull registry.cn-beijing.aliyuncs.com/yunweijia/flannel:v0.12.0-arm64
docker pull registry.cn-beijing.aliyuncs.com/yunweijia/flannel:v0.12.0-arm
docker pull registry.cn-beijing.aliyuncs.com/yunweijia/flannel:v0.12.0-amd64
重打标签tag或者修改yml文件--注意空格
docker tag registry.cn-beijing.aliyuncs.com/yunweijia/flannel:v0.12.0-s390x quay.io/coreos/flannel:v0.12.0-s390x
docker tag registry.cn-beijing.aliyuncs.com/yunweijia/flannel:v0.12.0-ppc64le quay.io/coreos/flannel:v0.12.0-ppc64le
docker tag registry.cn-beijing.aliyuncs.com/yunweijia/flannel:v0.12.0-arm64 quay.io/coreos/flannel:v0.12.0-arm64
docker tag registry.cn-beijing.aliyuncs.com/yunweijia/flannel:v0.12.0-arm quay.io/coreos/flannel:v0.12.0-arm
docker tag registry.cn-beijing.aliyuncs.com/yunweijia/flannel:v0.12.0-amd64 quay.io/coreos/flannel:v0.12.0-amd64
加载flannel
查看所以pod全部信息 ,查看kube-system空间下的pod,-w一直刷新状态
kubectl apply -f kube-flannel.yml
kubectl get pod --all-namespaces -o wide
kubectl get pod -n kube-system
kubectl get pod --all-namespaces -w
[root@k8s-master01 ~]# kubectl get pod --all-namespaces -o wide
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
kube-system coredns-66bff467f8-g5lmj 1/1 Running 0 21h 10.244.0.3 k8s-master01 <none> <none>
kube-system coredns-66bff467f8-ts7lw 1/1 Running 0 21h 10.244.0.2 k8s-master01 <none> <none>
kube-system etcd-k8s-master01 1/1 Running 0 21h 192.168.20.162 k8s-master01 <none> <none>
kube-system kube-apiserver-k8s-master01 1/1 Running 0 21h 192.168.20.162 k8s-master01 <none> <none>
kube-system kube-controller-manager-k8s-master01 1/1 Running 0 21h 192.168.20.162 k8s-master01 <none> <none>
kube-system kube-flannel-ds-amd64-rn9vr 1/1 Running 0 20h 192.168.20.162 k8s-master01 <none> <none>
kube-system kube-proxy-h44zq 1/1 Running 0 21h 192.168.20.162 k8s-master01 <none> <none>
kube-system kube-scheduler-k8s-master01 1/1 Running 0 21h 192.168.20.162 k8s-master01 <none> <none>
[root@k8s-master01 ~]# kubectl get pod -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-66bff467f8-g5lmj 1/1 Running 0 21h
coredns-66bff467f8-ts7lw 1/1 Running 0 21h
etcd-k8s-master01 1/1 Running 0 21h
kube-apiserver-k8s-master01 1/1 Running 0 21h
kube-controller-manager-k8s-master01 1/1 Running 0 21h
kube-flannel-ds-amd64-rn9vr 1/1 Running 0 20h
kube-proxy-h44zq 1/1 Running 0 21h
kube-scheduler-k8s-master01 1/1 Running 0 21h
[root@k8s-master01 ~]# kubectl get pod --all-namespaces -w
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-66bff467f8-g5lmj 1/1 Running 0 21h
kube-system coredns-66bff467f8-ts7lw 1/1 Running 0 21h
kube-system etcd-k8s-master01 1/1 Running 0 21h
kube-system kube-apiserver-k8s-master01 1/1 Running 0 21h
kube-system kube-controller-manager-k8s-master01 1/1 Running 0 21h
kube-system kube-flannel-ds-amd64-rn9vr 1/1 Running 0 20h
kube-system kube-proxy-h44zq 1/1 Running 0 21h
kube-system kube-scheduler-k8s-master01 1/1 Running 0 21h
至此完成K8S-kubeadmin部署。后续还有二进制部署,高可用部署文档。欢迎大家关注我。
未经原作者允许不得转载本文内容