K8S实战之环境部署1.18(一)

K8S 实战之环境部署 1.18(一)
安装要求,准备环境

#系统 centos7.6        
#硬件:2 个 CPU,2G 内存       
#可以访问外网,禁用 swap
#提前安装 docker 环境

准备三台服务器

服务器 ip 服务器名称
192.168.106.102 k8s-master
192.168.106.103 k8s-node01
192.168.106.104 k8s-node02

1. 初始化系统环境,以下命令三台服务器全部执行

1.1 关闭防火墙
systemctl stop   firewalld
systemctl disable   firewalld
1.2 关闭 selinux 和关闭 swap
sed  -i 's/enforcing/disabled'  /etc/selinux/config
setenforce 0
swapoff -a  #临时关闭,永久关闭需要写入 fatab
1.3 修改主机名,并写入三台服务器的 host 中
hostnamectl  set-hostname K8S-master     102
hostnamectl  set-hostname K8S-node01     103
hostnamectl  set-hostname K8S-mast02      104
cat  >>  /etc/hosts  << EOF
192.168.106.102     K8S-master
192.168.106.103     K8S-node01
192.168.106.104     K8S-mast02
1.4 将桥接的 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   #配置生效
1.5 同步时间
ntpdate  time.windows.com#如果时区不对执行下面命令,然后在同步
cp  /usr/share/zoneinfo/Asia/Shanghai   /etc/localtime
1.6 配置阿里源,下载相应的软件包
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=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
yum  install -y   kubelet-1.18.0  kubeadm-1.18.0  kubectl-1.18.0
#kubectl-1.18.0 命令行管理工具,kubeadm-1.18.0 是引导 K8S 集群,kubelet-1.18.0 管理容器
systemctl  enable  kubelet

2.0 部署 kubernetes Master 节点(master 节点上执行)

kubeadm init  
--apiserver-advertise-address=192.168.106.102                      #指定 master 监听的地址
--image-repository registry.aliyuncs.com/google_containers     #指定下载源
--kubernetes-version v1.18.0                     #指定 kubernetes 版本
--service-cidr=10.96.0.0/12                        #设置集群内部的网络
--pod-network-cidr=10.244.0.0/16               #设置 pod 的网络

K8S 实战之环境部署 1.18(一)

以下命令是加入 master 的命令需要复制出来

kubeadm join 192.168.106.102:6443 --token 7w0oxu.drdkjuzirow3dvj7 
    --discovery-token-ca-cert-hash sha256:e30452be8217affa2f11229e45cb2ed9dfa4424c82d5f354d9813ce789f58fdb`
```bash
mkdir -p $HOME/.kube
cp -i  /etc/kubernetes/admin.conf  $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
kubectl get node   #查看版本

K8S 实战之环境部署 1.18(一)

kubectl  get pods -n kube-system  #查看所有组件

K8S 实战之环境部署 1.18(一)

2.1 安装 Pod 网络插件

 wget http://120.78.77.38/file/kube-flannel.yaml #下载镜像,国外源,我已经下载到本地
 kubectl apply  -f  kube-flannel.yaml #原始镜像有问题改成如下图所示的镜像名称

K8S 实战之环境部署 1.18(一)

启动镜像,启动完查看镜像,会增加一个 flannel 镜像。支持多主机容器网络通信的

docker pull lizhenliang/flannel:v0.11.0-amd64  #建议先下载镜像
kubectl apply  -f  kube-flannel.yaml
kubectl  get   pods  -n  kube-system

K8S 实战之环境部署 1.18(一)

如图所示说明 K8Spod 正常启动

如果之前的环境配置有问题,执行下面命令清理 K8S 环境

kubectl log  kube-flannel-ds-sjs4p -n   kube-system     -f  启动有问题查看日志详细信息`
`kubectl delete -f kube-flannel.yaml #删除 pod`
```bash
kubeadm reset -f
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

3. k8s-node 节点加入 master 节点(两台主机分别执行)

kubeadm join 192.168.106.102:6443 --token 7w0oxu.drdkjuzirow3dvj7 
    --discovery-token-ca-cert-hash sha256:e30452be8217affa2f11229e45cb2ed9dfa4424c82d5f354d9813ce789f58fdb

K8S 实战之环境部署 1.18(一)

 kubectl get nodes     #master 节点运行

K8S 实战之环境部署 1.18(一)

至此 K8S 集群部署完成

4. master 节点安装管理页面 dashboard

wget   http://120.78.77.38/file/kubernetes-dashboard.yaml
kubectl apply -f  kubernetes-dashboard.yaml
 kubectl get  pods  -n  kubernetes-dashboard#下图位置需要修改

K8S 实战之环境部署 1.18(一)
K8S 实战之环境部署 1.18(一)

kubectl get pod -n kubernetes-dashboard  -o wide  #查看 pod 在哪个节点

K8S 实战之环境部署 1.18(一)

https://192.168.106.104:30001    #需要用火狐浏览器打开访问
#创建 token
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/{pirnt $1}')

创建完成将 token 复制到页面 token 后进入 web 管理页面,可以看到如图所示的页面三个节点

K8S 实战之环境部署 1.18(一)

https://192.168.106.104:30001/#/node?namespace=default

K8S 实战之环境部署 1.18(一)

来源:https://mp.weixin.qq.com/s/0SNTScXXxzQmKYVHEmui2g

© 版权声明

☆ END ☆
喜欢就点个赞吧
点赞1 分享
图片正在生成中,请稍后...