#Sealos#使用工具部署kubernetesV1.24.0

网友投稿 502 2022-09-08

#Sealos#使用工具部署kubernetesV1.24.0

kubernetes v1.24.0部署

基础环境配置

kubernetes环境配置

主机名 cpu 内存 存储 网络
master 2 4 200 192.168.10.29
node 2 4 200 192.168.10.30

部署思路

一、配置操作系统和kubernetes运行环境 二、安装sealos 三、安装kubernetesv1.24.0 四、安装helm 五、安装dashboard 六、测试

配置操作系统

1、设置yum源

wget -O /etc/yum.repos.d/centos-base.repo http://mirrors.aliyun.com/repo/Centos-7.repo wget -O /etc/yum.repos.d/epel.repo set-hostname your-own-nodename

3、升级内核

[root@vm1 ~]# rpm --import https://elrepo.org/RPM-GPG-KEY-elrepo.org  [root@vm1 ~]# rpm -Uvh http://elrepo.org/elrepo-release-7.0-5.el7.elrepo.noarch.rpm  [root@vm1 ~]# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available  [root@vm1 ~]# yum --enablerepo=elrepo-kernel install kernel-ml -y  [root@vm1 ~]# sed -i 's/GRUB_DEFAULT=saved/GRUB_DEFAULT=0/' /etc/default/grub  [root@vm1 ~]# grub2-mkconfig -o /boot/grub2/grub.cfg  [root@vm1 ~]# reboot

4、删除旧的内核(可选)

5、免交互

添加hosts文件

echo -e '192.168.10.29 master\n192.168.10.30 node' >>/etc/hosts

配置ssh密钥

ssh-keygen -t rsa ssh-copy-id master ssh-copy-id node

6、关闭ipv6

7、时间同步(可选)

配置kubernetes

使用sealos来完成快速安装

1、安装sealos

wget -c -O sealos && \ chmod +x sealos && mv sealos /usr/bin

2、创建kubernetes集群

sealos run labring/kubernetes:v1.24.0 labring/calico:v3.22.1 \ --masters 192.168.10.29 \ --nodes 192.168.10.30 -p [your-ssh-passwd]

3、部署calicoctl

查看calico的api资源

kubectl api-resources |grep calico

这些api资源是属于calico的,因此不建议使用kubectl来管理,推荐安装calicoctl来管理这些api资源。将calicoctl安装为kubectl的插件:

1)获取calicoctl

wget https://github.com/projectcalico/calico/releases/download/v3.22.1/calicoctl-linux-amd64 chmod +x calicoctl-linux-amd64 mv calicoctl-linux-amd64 /usr/bin/calicoctl

2) 加载calico环境变量

export CALICO_DATASTORE_TYPE=kubernetes export CALICO_KUBECONFIG=~/.kube/config

3) 测试

calicoctl node status

calicoctl ipam show

部署dashboard

部署步骤参见apply -f get pod -n kubernetes-dashboard

3、查看状态信息

kubectl get pods -n kubernetes-dashboard -o wide

4、更改访问策略

改为NodePort访问,默认是API Server,比较麻烦,改为NodePort可以直接用IP地址访问

1) 查看当前访问策略

kubectl -n kubernetes-dashboard get service kubernetes-dashboard

可以看到当前的TYPE字段显示为ClusterIP

2) 更改配置

编辑配置,将其中的ClusterIP改为NodePort即可,过一会配置会自动变化。

kubectl -n kubernetes-dashboard edit service kubernetes-dashboard

! 千万别改错

直接滚动至最后一页,倒数第三行。

找到字段 type: ClusterIP 修改为:type: NodePort

页面不动,匹配如下字段:

ports: - port: 443 protocol: TCP targetPort: 8443

修改添加为:

ports: - nodePort: 30081 port: 443 protocol: TCP targetPort: 8443

保存并退出。

3) 查看状态

kubectl -n kubernetes-dashboard get service kubernetes-dashboard

可以看到TYPE字段显示为NodePort,PORT(S)字段显示为443:30081/TCP

4) 访问地址

创建admin-user.yaml

填入以下内容:

&&

2) 创建服务账户和ClusterRoleBinding

注意:这意味着你创建了一个admin-user的角色并授予了集群最高权限。

kubectl create -f admin-user.yaml

3) 获取不记名令牌

现在我们需要找到我们可以用来登录的令牌。执行以下命令:

kubectl -n kubernetes-dashboard create token admin-user

如果你希望保存token在master节点中,请使用以下命令:

kubectl -n kubernetes-dashboard create token admin-user >admin-user-token && cat admin-user-token

它应该打印如下内容:

eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLXY1N253Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIwMzAzMjQzYy00MDQwLTRhNTgtOGE0Ny04NDllZTliYTc5YzEiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZXJuZXRlcy1kYXNoYm9hcmQ6YWRtaW4tdXNlciJ9.Z2JrQlitASVwWbc-s6deLRFVk5DWD3P_vjUFXsqVSY10pbjFLG4njoZwh8p3tLxnX_VBsr7_6bwxhWSYChp9hwxznemD5x5HLtjb16kI9Z7yFWLtohzkTwuFbqmQaMoget_nYcQBUC5fDmBHRfFvNKePh_vSSb2h_aYXa8GV5AcfPQpY7r461itme1EXHQJqv-SN-zUnguDguCTjD80pFZ_CmnSE1z9QdMHPB8hoB4V68gtswR1VLa6mSYdgPwCHauuOobojALSaMc3RH7MmFUumAgguhqAkX3Omqd3rJbYOMRuMjhANqd08piDC3aIabINX6gP5-Tuuw2svnV6NYQ

现在复制令牌并将其粘贴到Enter token登录屏幕的字段中。

单击Sign in按钮,就是这样。你现在以管理员身份登录。

要了解有关如何在 Kubernetes 中授予/拒绝权限的更多信息,请阅读官方身份验证和授权文档。

比方说如何删除管理员 ServiceAccount和 ClusterRoleBinding.

部署helm

sealos run labring/helm:v3.8.2 # 安装helm

部署openebs(可选)

sealos run labring/openebs:v1.9.0 # 安装openebs

测试

1、生成yaml配置文件

kubectl create deployment web --image=nginx -o yaml --dry-run=client >>nginx.yaml

2、使用yaml文件进行部署

kubectl apply -f nginx.yaml

3、查看创建的pod

kubectl get pods

4、对外暴露访问端口,生成yaml配置文件

kubectl expose deployment web --port=80 --type=NodePort --target-port=80 --name=web1 -o yaml >>nginx-web1.yaml

5、查看pod和svc

kubectl get pod,svc

注意:service/web1项中的PORT(S)字段

80:ports/TCP

6、访问nginx服务

虚拟机IP为192.168.10.29,对外暴露端口为步骤五中获取的ports

则访问地址: http://192.168.10.29:ports

7、删除测试使用的nginx服务(思考)

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:小克鲁伊夫别深足回巴萨,成本赛季中超首位离任主帅!
下一篇:云原生微服务K8s容器编排第五章之平滑升级k8s集群
相关文章

 发表评论

暂时没有评论,来抢沙发吧~