Centos7环境kubeadm安装kubernates1.13
k8s 安装指南1.首先准备三台虚机 1.最低硬件要求 CPU*2 内存1G2.安装前的准备 1.Master和各node节点都需要关闭防火墙,防火墙相关操作 systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 ...
k8s 安装指南
1.首先准备三台虚机
1.最低硬件要求 CPU*2 内存1G
2.安装前的准备
1.Master和各node节点都需要关闭防火墙,防火墙相关操作
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
1.配置主机名
vim /etc/hosts
196.168.2.1 node1
196.168.2.2 node2
196.168.2.3 node3
echo -e '192.168.2.1 node1\n192.168.2.2 node2\n192.168.2.3 node3' >> /etc/hosts
2.开启iptables转发
使用命令cat /proc/sys/net/bridge/bridge-nf-call-iptables 查看值是否为1,如果为1则如下步骤不需要执行,否则请继续下面的步骤开启相关功能。
1.1修改文件
sed -i 7,9s/0/1/g /usr/lib/sysctl.d/00-system.conf
1.2加载netfilter模块(可以使用 lsmod | grep netfilter命令查看是否加载了模块)
modprobe br_netfilter
2.1.3使做的更改生效
sysctl -p /usr/lib/sysctl.d/00-system.conf
2.1验证一下iptables和ip6tables
cat /proc/sys/net/bridge/bridge-nf-call-ip6tables
cat /proc/sys/net/bridge/bridge-nf-call-iptables
2.关闭Swap交换空间
echo 'vm.swappiness = 0' >> /usr/lib/sysctl.d/00-system.conf
sysctl -p /usr/lib/sysctl.d/00-system.conf
关闭swap
swapoff -a
3.注释掉“/etc/fstab”文件中关于swap的挂载代码 (关闭开机自动挂载)
vim /etc/fstab
#UUID=7dac6afd-57ad-432c-8736-5a3ba67340ad swap swap defaults 0 0
free m 查看swap使用
4.关闭iptables、selinux和firewalld服务
vim /etc/selinux/config
[root@node1 ~]# getenforce
Disabled
[root@node1 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
[root@node1 ~]# systemctl status iptables
● iptables.service - IPv4 firewall with iptables
Loaded: loaded (/usr/lib/systemd/system/iptables.service; disabled; vendor preset: disabled)
Active: inactive (dead)
3.kubeadm安装有2种方式
1.科学上网使用google下载离线安装
2.通过国内三方源镜像仓库 本文使用阿里云仓库
4.配置yum源
1.配置docker仓库
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
wget -P /etc/yum.repos.d/ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
不想使用阿里云仓库 可选择 docker官方中国仓库 https://www.docker-cn.com/registry-mirror
2.配置kubernetes仓库
vim /etc/yum.repos.d/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
5.三台服务器都要安装 docker、kubelet、kubectl、kubeladm
5.1 安装docker
yum install -y docker-ce
查看docker版本 docker version
启动docker
systemctl start docker
加载配置文件
sudo systemctl daemon-reload
重启docker
sudo systemctl restart docker
5.2 安装kubelet kubectl kubeadm
yum install -y kubelet kubectl kubeadm
查看一下kubelet的文件位置
rpm -ql kubelet
/etc/kubernetes/manifests
/etc/sysconfig/kubelet
/etc/systemd/system/kubelet.service
/usr/bin/kubelet
cat /etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS="--fail-swap-on=false"
rpm -ql kubeadm
/etc/systemd/system/kubelet.service.d/10-kubeadm.conf
/usr/bin/kubeadm
5.3
设置开机自启
systemctl enable docker kubelet
#!/bin/bash
images=(kube-apiserver:v1.12.0 kube-controller-manager:v1.12.0 kube-scheduler:v1.12.0 kube-proxy:v1.12.0 pause:3.1 etcd:3.2.24 coredns:1.2.2 kubernetes-dashboard-amd64:v1.10.0 tiller:v2.6.1 addon-resizer:1.8.4 flannel:v0.10.0-amd64 grafana:5.3.4 heapster-influxdb-amd64:v1.5.2 metrics-server-amd64:v0.3.1 )
for ima in ${images[@]}
do
docker pull registry.cn-shanghai.aliyuncs.com/wangting/$ima
docker tag registry.cn-shanghai.aliyuncs.com/wangting/$ima k8s.gcr.io/$ima
docker rmi -f registry.cn-shanghai.aliyuncs.com/wangting/$ima
docker tag 0ebffe5ba8a7 gcr.io/kubernetes-helm/tiller:v2.6.1
docker tag f0fad859c909 quay.io/coreos/flannel:v0.10.0-amd64
done
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.2.6
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.13.1
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.13.1
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.13.1
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.13.1
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.1
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.2.24
docker tag fdb321fd30a0 k8s.gcr.io/kube-proxy:v1.13.1
docker tag 26e6f1db2a52 k8s.gcr.io/kube-controller-manager:v1.13.1
docker tag 40a63db91ef8 k8s.gcr.io/kube-apiserver:v1.13.1
docker tag ab81d7360408 k8s.gcr.io/kube-scheduler:v1.13.1
docker tag f59dcacceff4 k8s.gcr.io/coredns:1.2.6
docker tag da86e6ba6ca1 k8s.gcr.io/pause:3.1
docker tag 3cab8e1b9802 k8s.gcr.io/etcd:3.2.24
在master 执行
kubeadm init --kubernetes-version=v1.13.1 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12
安装完成之后 复制保存控制台打印的日志
安装网络插件
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.10.0/Documentation/kube-flannel.yml
在node节点执行 将node加入集群中
kubeadm join 192.168.137.221:6443 --token gp4v34.hnm681943ca32jz2 --discovery-token-ca-cert-hash sha256:fa2cee41c2adef7fbe060c3a680f00cae40b616d4683d8826257a091de1258f5
查看节点信息
kubectl get node
查看namespace
kubectl get namespace
6.常用命令
1.移除NODE节点
#先将节点设置为维护模式(node2是节点名称)
kubectl drain node2 --delete-local-data --force --ignore-daemonsets
#然后删除节点
kubectl delete node node2
查看kubelet日志命令
journalctl -u kubelet -f
查看pod日志
kubectl logs -f kube-apiserver-node2.ztpt.com --namespace=kube-system
#-f 是滚动输出,就像是tail -f中的-f一样
#kube-apiserver-node2.ztpt.com是pod名字
如果忘记了kubeadm join怎么办?
kubeadm join使用的token默认有效期24小时,过期后可使用kubeadm token create创建
如果忘记了可使用kubeadm token list查看,如果过期了还是得重新创建
如果连--discovery-token-ca-cert-hash的值也忘记了,那就用命令openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'查看吧!然后用新的token和ca-hash加入集群
更多推荐
所有评论(0)