安装版本:
kubeadm
-
环境
-
-
master 172.16.184.135
-
node1 172.16.184.133
-
node2 172.16.184.134
-
-
前提
-
-
基于主机名通信:/etc/hosts
-
时间同步 timedatectl
-
关闭防火墙firewalld、iptables.service
-
OS: centos 7.3
-
-
安装配置步骤
-
-
etcd cluster 仅master节点
-
flannel,集群的所有节点
-
配置k8s的master: 仅master节点
-
-
kubernetes-master
-
启动服务
-
-
kube-apiserver、kube-scheduler、kuber-controller-manager
-
-
-
配置k8s的各个node结点
-
-
kubernetes-node
-
先设定启动docker服务
-
启动k8s服务
-
-
kube-proxy、kubelet
-
-
-
1,master,nodes :安装kubelet、kubeadm、docker
2,master:kubeadm init
3,nodes:kubeam join
基本链接:
https://github.com/kubernetes/kubeadm/blob/master/docs/design/design_v1.10.md
https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.11.md#downloads-for-v1111
https://opsx.alibaba.com/mirror
———————————————————
仓库路径指向
https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
https://mirrors.aliyun.com/kubernetes/yum/doc/
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
-
master
-
-
vim /etc/selinux/config
SELINUX=disabled
setenforce 0
-
cd /etc/yum.repos.d/
-
部署docker
-
-
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
-
vim kubernetes.repo
-
-
—————————————————————————
[kubernetes]
name =Kubernetes Repo
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
enabled=1
—————————————————————————
-
yum repolist
-
复制文件到node1 node2
cd /etc/yum.repos.d/
scp kubernetes.repo docker-ce.repo node1:/etc/yum.repos.d/
scp kubernetes.repo docker-ce.repo node2:/etc/yum.repos.d/
-
开始安装
yum install docker-ce-18.09.8 kubelet kubeadm kubectl
cd 直接回车返回~
wget https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
rpm --import rpm-package-key.gpg
systemctl start docker
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://8vbedmam.mirror.aliyuncs.com"]
}
sudo systemctl daemon-reload
sudo systemctl restart docker
-
设定、启动docker
-
-
vim /usr/lib/systemd/system/docker.service
在service下面定义环境变量
-
#Environment="HTTPS_PROXY=http://www.ik8s.io:10080"
Environment="NO_PROXY=127.0.0.0/8,172.20.0.0/16"
systemctl daemon-reload
systemctl restart docker
docker info
-
解决WARNING: bridge-nf-call-iptables is disabled
vi /etc/sysctl.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
执行 sysctl -p
-
设定、启动kubelet
-
-
看安装生成了哪些文件 rpm -ql kubelet
-
cat /etc/sysconfig/kubelet
-
systemctl start kubelet
-
看状态 systemctl status kubelet
-
看日志 tail /var/log/messages
systemctl stop kubelet
systemctl enable kubelet
systemctl enable docker
-
-
初始化kubeadm
-
-
kubeadm init --help
kubeadm init --kubernetes-version=v1.15.1 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12
-
上述出现了bug则
ls
vim /etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS="--fail-swap-on=false"
kubeadm init --kubernetes-version=v1.15.1 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap
失败告终
-
-
docker pull mirrorgooglecontainers/kube-apiserver:v1.15.1
docker pull mirrorgooglecontainers/kube-controller-manager:v1.15.1
docker pull mirrorgooglecontainers/kube-scheduler:v1.15.1
docker pull mirrorgooglecontainers/kube-proxy:v1.15.1
docker pull mirrorgooglecontainers/pause:3.1
docker pull mirrorgooglecontainers/etcd:3.3.10
docker pull coredns/coredns:1.3.1
-
docker tag mirrorgooglecontainers/kube-apiserver:v1.15.1 k8s.gcr.io/kube-apiserver:v1.15.1
docker tag mirrorgooglecontainers/kube-controller-manager:v1.15.1 k8s.gcr.io/kube-controller-manager:v1.15.1
docker tag mirrorgooglecontainers/kube-scheduler:v1.15.1 k8s.gcr.io/kube-scheduler:v1.15.1
docker tag mirrorgooglecontainers/kube-proxy:v1.15.1 k8s.gcr.io/kube-proxy:v1.15.1
docker tag mirrorgooglecontainers/pause:3.1 k8s.gcr.io/pause:3.1
docker tag mirrorgooglecontainers/etcd:3.3.10 k8s.gcr.io/etcd:3.3.10
docker tag coredns/coredns:1.3.1 k8s.gcr.io/coredns:1.3.1
-
-
-
-
docker rmi mirrorgooglecontainers/kube-apiserver:v1.15.1 mirrorgooglecontainers/kube-controller-manager:v1.15.1 mirrorgooglecontainers/kube-scheduler:v1.15.1 mirrorgooglecontainers/kube-proxy:v1.15.1 mirrorgooglecontainers/pause:3.1 mirrorgooglecontainers/etcd:3.3.10 coredns/coredns:1.3.1
docker images
-
-
kubeadm init --kubernetes-version=v1.15.1 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap
-
成功信息
kubeadm join 172.16.184.135:6443 --token nsz8ol.3x7b2v1r0xwhra9f \
--discovery-token-ca-cert-hash sha256:75b8d2439ce9b12c84259fdbba654529e33eecb432bdde857fdf2bc4c13b4e1e
-
-
查看端口监听情况 ss -tnl
注意 6443端口
-
执行操作(安装结果中提示)
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
-
查看健康与否 kubectl get cs cs就是componentstatus
kubectl get nodes
-
部署flannel
-
-
docker pull registry.cn-hangzhou.aliyuncs.com/rsq_kubeadm/flannel:v0.11.0-amd64
docker tag registry.cn-hangzhou.aliyuncs.com/rsq_kubeadm/flannel:v0.11.0-amd64 quay.io/coreos/flannel:v0.11.0-amd64
docker rmi registry.cn-hangzhou.aliyuncs.com/rsq_kubeadm/flannel:v0.11.0-amd64
-
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
-
-
docker images 查看flannel镜像
-
kubectl get pods -n kube-system
-
kubectl get nodes
kubectl get ns
-
-
复制文件. cd /etc/yum.repos.d/
scp rpm-package-key.gpg node1:/root
scp rpm-package-key.gpg node2:/root
-
-
node1、node2分别
yum install docker-ce-18.09.8 kubelet kubeadm
-
-
scp /usr/lib/systemd/system/docker.service node1:/usr/lib/systemd/system/docker.service
scp /etc/sysconfig/kubelet node1:/etc/sysconfig/
scp /usr/lib/systemd/system/docker.service node2:/usr/lib/systemd/system/docker.service
scp /etc/sysconfig/kubelet node2:/etc/sysconfig/
-
systemctl restart docker
docker info
systemctl enable docker kubelet
-
-
node1/2
-
-
systemctl daemon-reload
systemctl start docker
docker info
-
-
vi /etc/sysctl.conf
-
-
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
sysctl -p
-
systemctl enable docker kubelet
-
docker pull mirrorgooglecontainers/pause:3.1
docker pull mirrorgooglecontainers/kube-proxy:v1.15.1
docker pull registry.cn-hangzhou.aliyuncs.com/rsq_kubeadm/flannel:v0.11.0-amd64
-
docker tag mirrorgooglecontainers/pause:3.1 k8s.gcr.io/pause:3.1
docker tag mirrorgooglecontainers/kube-proxy:v1.15.1 k8s.gcr.io/kube-proxy:v1.15.1
docker tag registry.cn-hangzhou.aliyuncs.com/rsq_kubeadm/flannel:v0.11.0-amd64 quay.io/coreos/flannel:v0.11.0-amd64
-
docker rmi mirrorgooglecontainers/pause:3.1 docker rmi mirrorgooglecontainers/kube-proxy:v1.15.1
registry.cn-hangzhou.aliyuncs.com/rsq_kubeadm/flannel:v0.11.0-amd64
kubeadm join 172.16.184.135:6443 --token nsz8ol.3x7b2v1r0xwhra9f \
--discovery-token-ca-cert-hash sha256:75b8d2439ce9b12c84259fdbba654529e33eecb432bdde857fdf2bc4c13b4e1e --ignore-preflight-errors=Swap
-
master
-
-
kubectl get nodes
kubectl get pods -n kube-system -o wide
-