Minikube Ubuntu 22.04

Minikube Ubuntu 22.04

$ curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
$ sudo install minikube-linux-amd64 /usr/local/bin/minikube

# 启动 以下启动可能会卡在 - Booting up control plane ...
# 指定 v1.23.X 版本可正常通过
$ minikube start --image-mirror-country=cn \
--image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers \
--kubernetes-version=v1.23.13
tester@server01:~$ minikube start --image-mirror-country=cn \
> --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers \
> --kubernetes-version=v1.23.13
* minikube v1.27.1 on Ubuntu 22.04
* Automatically selected the docker driver
* Using image repository registry.cn-hangzhou.aliyuncs.com/google_containers
* Using Docker driver with root privileges
* Starting control plane node minikube in cluster minikube
* Pulling base image ...
* Creating docker container (CPUs=2, Memory=2200MB) ...
* Preparing Kubernetes v1.23.13 on Docker 20.10.18 ...
  - Generating certificates and keys ...
  - Booting up control plane ...
  - Configuring RBAC rules ...
* Verifying Kubernetes components...
  - Using image registry.cn-hangzhou.aliyuncs.com/google_containers/storage-provisioner:v5
* Enabled addons: default-storageclass
* kubectl not found. If you need it, try: 'minikube kubectl -- get pods -A'
* Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

系统之前没有安装kubectl 所以提示使用增加 minikube – ‘minikube kubectl – get pods -A’ 验证

tester@server01:~$ kubectl get pods -A
NAMESPACE     NAME                               READY   STATUS    RESTARTS   AGE
kube-system   coredns-65c54cc984-vgbwd           1/1     Running   0          21s
kube-system   etcd-minikube                      1/1     Running   0          35s
kube-system   kube-apiserver-minikube            1/1     Running   0          33s
kube-system   kube-controller-manager-minikube   1/1     Running   0          33s
kube-system   kube-proxy-2jjcm                   1/1     Running   0          22s
kube-system   kube-scheduler-minikube            1/1     Running   0          33s
kube-system   storage-provisioner                1/1     Running   0          32s

使用别名模拟使用kubectl

tester@server01:~$ alias kubectl="minikube kubectl --"
tester@server01:~$ kubectl get pods -A
NAMESPACE     NAME                               READY   STATUS    RESTARTS        AGE
kube-system   coredns-64897985d-hnlwh            1/1     Running   0               9m51s
kube-system   etcd-minikube                      1/1     Running   0               10m
kube-system   kube-apiserver-minikube            1/1     Running   0               10m
kube-system   kube-controller-manager-minikube   1/1     Running   0               10m
kube-system   kube-proxy-69tsc                   1/1     Running   0               9m51s
kube-system   kube-scheduler-minikube            1/1     Running   0               10m
kube-system   storage-provisioner                1/1     Running   1 (9m30s ago)   10m

建议以上alias kubectl="minikube kubectl --"放入环境配置文件中永久生效

minikube 配置删除

$ minikube stop
$ minikube delete

本机IP

tester@server01:~$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:23:b0:24 brd ff:ff:ff:ff:ff:ff
    altname enp2s1
    inet 192.168.79.200/24 brd 192.168.79.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe23:b024/64 scope link 
       valid_lft forever preferred_lft forever
tester@server01:~$ minikube dashboard
* Enabling dashboard ...
  - Using image docker.io/kubernetesui/dashboard:v2.7.0
  - Using image docker.io/kubernetesui/metrics-scraper:v1.0.8
* Verifying dashboard health ...
* Launching proxy ...
* Verifying proxy health ...
* Opening http://127.0.0.1:39857/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ in your default browser...
  http://127.0.0.1:39857/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/

设置外部机器可以访问 dashboard ,设置宿主机IP代理

tester@server01:~$ kubectl proxy --port=37797 --address='192.168.79.200' --accept-hosts='^.*' &

宿主机访问 http://127.0.0.1:37797/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
外部访问 http://192.168.79.200:37797/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
在这里插入图片描述

设置Rabbit MQ

# 文件在文末
tester@server01:~/app/k8s-rabbitmq$ kubectl apply -f rabbitmq-pod.yaml 
pod/rabbitmq-pod created
tester@server01:~/app/k8s-rabbitmq$ kubectl get pods
NAME           READY   STATUS    RESTARTS   AGE
rabbitmq-pod   1/1     Running   0          71s
# 文件在文末
tester@server01:~/app/k8s-rabbitmq$ kubectl apply -f rabbitmq-service.yaml 
service/rabbitmq created
tester@server01:~/app/k8s-rabbitmq$ kubectl get svc
NAME         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                          AGE
kubernetes   ClusterIP   10.96.0.1        <none>        443/TCP                          179m
rabbitmq     NodePort    10.110.224.108   <none>        5672:31123/TCP,15672:31567/TCP   20s
tester@server01:~/app/k8s-rabbitmq$ minikube service rabbitmq --url
http://192.168.49.2:31123
http://192.168.49.2:31567

宿主机桌面安装 `Ubuntu 22.04 桌面安装

通过宿主机网页访问 http://192.168.49.2:31567 录入 admin/admin登入成功

Dashboard - Pods
在这里插入图片描述
Dashboard - Services
在这里插入图片描述

  • Kubernetes Pod 是由一个或多个为了管理和联网而绑定在一起的容器构成的组
  • 默认情况下,Pod 只能通过 Kubernetes 集群中的内部 IP 地址访问。 要使得 以上例子中 rabbitmq 容器可以从 Kubernetes 虚拟网络的外部访问,你必须将 Pod 暴露为 Kubernetes Service。
# rabbitmq-pod.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: rabbitmq-pod
  labels:
    app: rabbitmq
spec:
  containers:
    - name: rabbitmq-pod
      image: rabbitmq:3-management
      ports:
        - containerPort: 5672
          name: amqp
        - containerPort: 15672
          name: http
      env:
        - name: RABBITMQ_DEFAULT_USER
          value: admin
        - name: RABBITMQ_DEFAULT_PASS
          value: admin
# rabbitmq-service.yaml 
apiVersion: v1
kind: Service
metadata:
  name: rabbitmq
spec:
  type: NodePort
  selector:
    # 需与对应pod文件中 `metadata.name.labels.app` 一致
    app: rabbitmq
  ports:
    - port: 5672
      targetPort: 5672
      name: amqp
    - port: 15672
      targetPort: 15672
      # valid ports is 30000-32767
      nodePort: 31567
      name: http
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值