kubernetes1.18.0详细安装过程

flannel插件的yaml
链接: https://pan.baidu.com/s/1mWsbp5NHzGSRhX4c53mXfA
提取码: 7f0h

环境准备:

192.168.10.119    master
192.168.10.120    node1
192.168.10.121    node2
192.168.10.122    node3
192.168.10.123    node4
192.168.10.124    node5
192.168.10.125    node6
192.168.10.126    node7

以下操作每台机器都要做:

ssh-keygen -t rsa
ssh-copy-id ip地址做免密

关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

关闭selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config  # 永久
setenforce 0  # 临时

关闭swap
swapoff -a  # 临时
vim /etc/fstab  # 永久

设置主机名
hostnamectl set-hostname <hostname>

在master添加hosts:
cat >> /etc/hosts << EOF
192.168.10.119 master
192.168.10.120 node1
192.168.10.121 node2
192.168.10.122 node3
192.168.10.123 node4
192.168.10.124 node5
192.168.10.125 node6
192.168.10.126 node7
EOF

将桥接的IPv4流量传递到iptables的链:
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system  # 生效

时间同步:
yum install ntpdate -y
ntpdate time.windows.com

安装docker

wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
yum -y install docker-ce-18.06.1.ce-3.el7
systemctl enable docker --now
docker --version

添加K8S YUM源

cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

安装kubeadm,kubelet和kubectl

yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0
systemctl enable kubelet

master上的操作:

部署 K8S master

kubeadm config print init-defaults > kubeadm.yaml        #生成初始化的文件

kubeadm,yaml内容如下:
apiVersion: kubeadm.k8s.io/v1beta2
bootstrapTokens:
- groups:
  - system:bootstrappers:kubeadm:default-node-token
  token: abcdef.0123456789abcdef
  ttl: 24h0m0s
  usages:
  - signing
  - authentication
kind: InitConfiguration
localAPIEndpoint:
  advertiseAddress: 192.168.10.119
  bindPort: 6443
nodeRegistration:
  criSocket: /var/run/dockershim.sock
  name: master
  taints:
  - effect: NoSchedule
    key: node-role.kubernetes.io/master
---
apiServer:
  timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta2
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controllerManager: {}
dns:
  type: CoreDNS
etcd:
  local:
    dataDir: /var/lib/etcd
imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers
kind: ClusterConfiguration
kubernetesVersion: v1.18.0
networking:
  dnsDomain: cluster.local
  podSubnet: 10.202.0.0/16
  serviceSubnet: 10.200.0.0/16
scheduler: {}
###修改advertiseAddress为本机地址
###imageRepository修改为国内的镜像源(registry.cn-hangzhou.aliyuncs.com/google_containers)或者网速好的话可以不修改
###指定podSubnet、serviceSubnet的地址段,注意不要和本机地址段冲突,否则coredns会报错无法启动

kubeadm init --config=kubeadm.yaml    #执行初始化

使用kubectl命令

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 nodes

部署完成后获取node加入集群的命令以及token:

kubeadm config print join-defaults > join-confog.yaml

join-confog.yaml内容如下:
apiVersion: kubeadm.k8s.io/v1beta2
caCertPath: /etc/kubernetes/pki/ca.crt
discovery:
  bootstrapToken:
    apiServerEndpoint: 192.168.10.119:6443
    token: k2k7zt.7k8b7jls47eskkqu
    unsafeSkipCAVerification: true
  timeout: 5m0s
  tlsBootstrapToken: k2k7zt.7k8b7jls47eskkqu
kind: JoinConfiguration
nodeRegistration:
  criSocket: /var/run/dockershim.sock
  name: node1
  taints: null
###token修改为master初始化完成后获得的token
###tlsBootstrapToken这个同上
#####如果忘记token的话,使用kubeadm token create --print-join-command --ttl 0重新生成一个token

kubeadm join --config=join-confog.yaml

在node上修改/etc/profile文件,最下面加入以下这行:

export KUBECONFIG=/etc/kubernetes/kubelet.conf
source /etc/profile    #让他生效

这样在node上就可以使用kubelet命令了

安装网络插件flannel

wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

修改 kube-flannel.yml, pod范围要和之前kubeadm.yaml中匹配
kubectl apply -f kube-flannel.yml

至此安装结束!!!
————————————————————————————————————————

清理集群:

kubelet reser -f   #master和node全部都要执行

清理残余的文件

modprobe -r ipip
lsmod
rm -rf ~/.kube/
rm -rf /etc/kubernetes/
rm -rf /etc/systemd/system/kubelet.service.d
rm -rf /etc/systemd/system/kubelet.service
rm -rf /usr/bin/kube*
rm -rf /etc/cni
rm -rf /opt/cni
rm -rf /var/lib/etcd
rm -rf /var/etcd

yum remove kube*

更新镜像:

yum clean all
yum -y update
yum makecache
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值