220. 【kubernetes】二进制文件方式安装-Kubernetes-集群(四)

这是 kubernetes 系列继 187. 【kubernetes】二进制文件方式安装 Kubernetes 集群(三) 后的第 4 篇。

一、插曲

昨晚有个简友在简书平台发消息咨询他在搭建过程中出现的问题,

写文章有人就内容反馈还是一件蛮开心的事情。我直接在本地 VMware 上新建了三台虚拟机,照着自己的教程,重新搭了一个环境。最后查出来这位简友的问题是出在我写文章打字时把单词打错了,改完之后,kube-scheduler 就能启动了。

后来还一起把我自己遇到的一个认证问题解决了,也是把单词打错了,尽管千叮咛万嘱咐还是会出现这种低级的错误,但幸运的是最后发现了,这个确实应该引起重视。

非常欢迎就**“二进制方式 安装 kubernetes 环境”**问题与我讨论,共同进步。

二、当前进度(新的环境下,因此看到 ip 变了)

  • 查看集群内节点状态
    kubectl get nodes --kubeconfig=/etc/kubernetes/kubeconfig
    

基本已完成

可以看到基本已完成,这里说明一下,上述命令里 --kubeconfig=/etc/kubernetes/kubeconfig其实是可以省略的,不过前提是在环境变量中添加了 KUBECONFIG
添加 KUBECONFIG 环境变量

添加完成之后,执行 source ~/.bashrc即可。

另外,可以看到目前的 STATUS 还是显示的 NotReady,加下来就是添加 cni网络插件了。

  • 添加 CNI 网络插件

    kubectl apply -f "https://docs.projectcalico.org/manifests/calico.yaml"
    

    这是会发现还是处于 NotReady状态,这时就要再调查一下问题出在哪儿了,

    kubectl get all -n kube-system  
    

这里发现有一个 pod 处于 Init:0/3 状态,继续调查,

kubectl describe pod calico-node-2nqtk -n kube-system

好了,问题找到了,原来是有一个 Docker 镜像没有下载下来,继续,

docker pull registry.aliyuncs.com/google_containers/pause:3.6 
docker tag registry.aliyuncs.com/google_containers/pause:3.6 k8s.gcr.io/pause:3.6

命令在各个节点执行完之后,多等待一会,如下图所示。
验证已解决

三、阶段性胜利

至此,一个二进制文件方式安装的 Kubernetes 集群已经部署完成了,接下来就可以快乐的创建 Pod、Deployment、Service 等资源对象来部署、管理容器应用和微服务了。

四、小小的测试

准备一个 deploy.yaml 文件,内容如下,

apiVersion: apps/v1
kind: Deployment
metadata:
  name: qijing-mysql-base-deployment
  labels:
    name: qijing-mysql-base-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      name: qijing-mysql-base-pod
  template:
    metadata:
      labels:
        name: qijing-mysql-base-pod
    spec:
      nodeSelector:
        kubernetes.io/hostname: 192.168.199.31
      volumes:
        - name: localtime-mysql
          hostPath:
            path: /etc/localtime
      containers:
      - name: mysql
        image: mysql:8.0.19
        volumeMounts:
          - mountPath: /etc/localtime
            name: localtime-mysql
        ports:
        - containerPort: 3306
        env:
        - name: MYSQL_ROOT_PASSWORD
          value: "yourpassword"

---
apiVersion: v1
kind: Service
metadata:
  name: qijing-mysql-base-svc
  labels:
    name: qijing-mysql-base-svc
spec:
  type: NodePort
  ports:
    - port: 3306
      protocol: TCP
      targetPort: 3306
      name: http
      nodePort: 30307
  selector:
    name: qijing-mysql-base-pod

执行

kubectl create -f qijing-mysql-deploy.yaml  
kubectl get po
kubectl get svc

没问题
可以看到 Pod、Service、Deployment对象都创建成功了。

再使用 Navicat 连接一下 mysql试试
没问题


这就是程序员的乐趣的吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值