安装kubernetes与图形界面(21.6)

需要三台虚拟机

192.168.0.111 --docker14G内存最少40G硬盘
192.168.0.109 --docker22G内存最少40G硬盘
192.168.0.113 --docker32G内存最少40G硬盘

本地解析以及密钥传输

[root@docker-1 ~]# cat  /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.111    server1
192.168.0.109    server2
192.168.0.113    server3

分别传送到 server2 和 server3 用scp传递

ssh-keygen #生成一个密钥
ssh-copy-id -i root@server2 #将密钥传输到server2
ssh-copy-id -i root@server3 #将密钥传输到server3

关闭swap内存并在sysctl

swapoff -a #暂时关闭
在修改vim /etc/sysctl.conf

[root@docker-2 ~]# cat  /etc/sysctl.conf | egrep -v '^[$|#]'
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
vm.swappiness = 0
sysctl -p 在内存中更新一下

安装kubernetes的网络源

三台都做

启动 docker 并加入开机自启动的列表
systemctl start docker
systemctl enable docker
yum -y install bash-c* #安装一下命令补全键 (tab)

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

安装kubernetes

三台都做

yum --disablerepo “*” --enablerepo “kubernetes” list available --showduplicates

#禁用所有的repo源 只允许 kubernetes 这个源进行使用 list available 列出资源库中所有可以安装的rpm包 列出资源库中与正则表达式匹配的所有可以安装的rpm包 --showduplicates参数列出所有版本

yum install kubelet-1.21.6-0.x86_64 kubeadm-1.21.6-0.x86_64 kubectl-1.21.6-0.x86_64 -y #安装指定版本21.6

配置环境变量

三台都做

source <(kubectl completion bash)
source <(kubeadm completion bash)|
将其加入.bashrc中
在这里插入图片描述

kubectl version

在这里插入图片描述

kubeadm config images pull --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.21.6 #下载镜像registry默认是从google下载的现在我们从阿里云上面下载

kubernetes初始化

第一台

kubeadm init --apiserver-advertise-address=192.168.0.111 -image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.21.6#你当前主机的地址也就是4G地址 你的镜像 你的版本 你要分配的网段是什么

下载之后可以按照上面的提示进行操作

#如果你是普通用户可以敲下面的命令,如果你是管理员用户的话也可以无所谓
[root@docker-1 ~]# mkdir -p $HOME/.kube  
[root@docker-1 ~]# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
[root@docker-1 ~]# sudo chown $(id -u):$(id -g) $HOME/.kube/config
[root@docker-1 ~]# export KUBECONFIG=/etc/kubernetes/admin.conf

网络

第一台就行

如果你要部署网络的时候需要这条命令

https://kubernetes.io/docs/concepts/cluster-administration/addons/

在这里插入图片描述

在这里插入图片描述

按照这个链接进行下载

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

也可以进去进行复制粘贴

最好使用vi进行编辑 保留原格式 使用vim进去加 set paste

进去之后 这个kube-flannel.yml

按照quay.io/coreos/flannel:v0.15.0这个镜像
docker pull quay.io/coreos/flannel:v0.15.0 三台主机都要下载
在这里插入图片描述

根据刚才的提示 kube-flannel.yml

在这里插入图片描述

三台都要

systemctl enable kubelet.service

在这里插入图片描述

根据上面提示 把客户端加进来 #server2 server3

查看是否成功

[root@docker-1 ~]# kubectl get nodes

在这里插入图片描述

ready就行

在这里插入图片描述

kubectl get pod --all-namespaces #Running状态就算成功

然后 就可以拍个快照了

kubernetes UI化图形界面

第一台

https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/
在这里插入图片描述

还是用wget https://github.com/kubernetes/dashboard/blob/master/aio/deploy/recommended.yaml .

再用 kubectl apply -f recommended.yaml #看一下集群是否部署完成

在这里插入图片描述

[root@docker-1 ~]# kubectl  get   service --namespace kubernetes-dashboard 
NAME                        TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
dashboard-metrics-scraper   ClusterIP   10.105.129.110   <none>        8000/TCP   2m24s
kubernetes-dashboard        ClusterIP   10.109.103.105   <none>        443/TCP    2m24s、

然后编辑这个文件

[root@docker-1 ~]# kubectl edit  --namespace kubernetes-dashboard service kubernetes-dashboard

在这里插入图片描述

类型改成 NodeProt

给一个大于30000的端口
在这里插入图片描述

查看是否有这个端口
在这里插入图片描述

然后打开浏览器
[Kubernetes Dashboard](https://192.168.0.111:30002/#/login)

如果用的是chrome浏览器 输入下面的就行#这是不安全的
在这里插入图片描述

需要创建一个管理员账户

vim  k8s-admin.yml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: dashboard-admin
  namespace: kube-system
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: dashboard-admin
subjects:
  - kind: ServiceAccount
    name: dashboard-admin
    namespace: kube-system
roleRef:
  kind: ClusterRole
  name: cluster-admin
  apiGroup: rbac.authorization.k8s.io

然后应用一下就行 kubectl apply -f k8s-admin.yml

然后找到一个 dashboard-admin-token-jfsjj

在这里插入图片描述

kubectl describe secrets dashboard-admin-token-jfsjj --namespace kube-system

#describe 详细的信息 secrets 你的秘密是那个 在这个里面

把这些值复制下来

在这里插入图片描述

在这里插入图片描述在这里插入图片描述

就欧克了


版权声明:本文为weixin_47613673原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。