Kubernetes集群部署教程
服务器组:
192.168.2.2 master
192.168.2.3 node01
192.168.2.4 node02
192.168.2.5 node03
以下在所有节点进行操作
设置服务器主机名和节点名称相同
1、设置免密登录
[Master]
[root@k8s-master ~]# ssh-keygen
[root@k8s-master ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub node01
[root@k8s-master ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub node02[root@k8s-master ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub node03
2、禁用防火墙
systemctl disable firewalld
systemctl stop firewalld
3、禁用 seliux
vim /etc/selinux/config
SELINUX=disabled
4、关闭 swap
#(1)临时关闭 swap 分区, 重启失效;
swapoff -a
#(2)永久关闭 swap 分区
sed -ri ‘s/.*swap.*/#&/’ /etc/fstab
5、开启路由转发
vim /etc/sysctl.d/k8s.conf 添加下面命令
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1立即生效:
modprobe br_netfilter && sysctl -p /etc/sysctl.d/k8s.conf
6、配置 yum 国内源
mkdir /etc/yum.repos.d/bak && mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo
yum clean all && yum makecache
7、配置 kubernetes 源
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
8、配置 docker 源
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
9、安装 docker
yum install -y docker-ce
systemctl enable docker && systemctl start docker
docker –version
docker 服务为容器运行提供计算资源,是所有容器运行的基本平台
配置 iptables 规则(必须)
vim /usr/lib/systemd/system/docker.service
ExecStartPost=/usr/sbin/iptables -P FORWARD ACCEPT
systemctl daemon-reload && systemctl restart docker10 修改 docker cgroup driver 为 systemd
根据文档 CRI installation 中的内容,对于使用 systemd 作为 init system 的 Linux 的发行版,
使用 systemd 作为 docker 的 cgroup driver 可以确保服务器节点在资源紧张的情况更加稳定,
因此这里修改主节点上 docker 的 cgroup driver 为 systemd。
master:
cat << EOF >/etc/docker/daemon.json
{
“exec-opts”: [“native.cgroupdriver=systemd”],
“registry-mirrors”: [“https://4zh07w6q.mirror.aliyuncs.com”]
}
EOF
重启 docker:
systemctl restart docker11 安装 kubeadm、kubelet、kubectl
yum -y install kubeadm-1.14.2 kubelet-1.14.2 kubectl-1.14.2
systemctl enable kubelet
kubeadm config images list
kubeadm config images pull
12 在 master 上初始化
kubeadm init –kubernetes-version=1.14.2 \ #kubernetes 版本,必须和安装版本一致
–apiserver-advertise-address=masterIP \ #master 主机 IP
–image-repository registry.aliyuncs.com/google_containers \ #仓库镜像地址
–service-cidr=10.1.0.0/16 \
–pod-network-cidr=10.244.0.0/16 #flannel 网段
安装完成会出现:(在其他节点上运行)
kubeadm join 10.10.10.10:6443 –token kekvgu.nw1n76h84f4camj6 \–discovery-token-ca-cert-hash sha256:4ee74205227c78ca62f2d641635afa4d50e6634acfaa8291f28582c7e3b0e30e
配置 kubectl 工具
mkdir -p /root/.kube
cp /etc/kubernetes/admin.conf /root/.kube/config
kubectl get nodes
kubectl get cs
13、部署 flannel 网络
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
14、查看节点状态 kubectl get nodes 等待 20 分钟左右
15、部署 Dashboard
注:在 master 节点上进行如下操作1.创建 Dashboard 的 yaml 文件
wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
sed -i ‘s/k8s.gcr.io/loveone/g’ kubernetes-dashboard.yaml
sed -i ‘/targetPort:/a\ \ \ \ \ \ nodePort: 30001\n\ \ type: NodePort’ kubernetes-dashboard.yaml
2.部署 Dashboard
kubectl create -f kubernetes-dashboard.yaml
3.创建完成后,检查相关服务运行状态
kubectl get deployment kubernetes-dashboard -n kube-system
kubectl get pods -n kube-system -o wide
kubectl get services -n kube-system
netstat -ntlp|grep 30001
4.在 Firefox 浏览器输入 Dashboard 访问地址:https://10.10.10.10:30001
5.查看访问 Dashboard 的认证令牌
kubectl create serviceaccount dashboard-admin -n kube-system
kubectl create clusterrolebinding dashboard-admin –clusterrole=cluster-admin –serviceaccount=kube-system:dashboard-admin
kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk ‘/dashboard-admin/{print $1}’)
6.使用输出的 token 登录 Dashboard。查看 kubernetes 错误信息
journalctl -xefu kubelet
Side Effects Pf Cephalexin In Dogs https://cialibuy.com/ – generic cialis online Priligy Para Que Sirve Cialis Finasteride 20mg Internet Low Price
Versandapotheke Viagra Generika Wicmymmele https://ascialis.com/# – cialis daily gaideleplete Buy Theophylline affextop Cialis adoreakder viagra y marihuana
Propecia Finasteride Cost Wicmymmele https://biracialism.com/ – legit cialis online gaideleplete Zithromax Abscess Tooth affextop Cialis adoreakder Amoxicilline Posologie Angine
cheap levitra
buy disulfiram
buy accutane uk no prescription
accutane 30 mg sales
buy cialis online with a prescription